{"version":3,"file":"js/Index-baf252bf39cd5799616b.js","mappings":"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","sources":["webpack://peerview-data-web/./app/javascript/inactivity_timeout.js","webpack://peerview-data-web/./app/javascript/src/VideoModal.js","webpack://peerview-data-web/./app/javascript/src/UserPermissionsForm.js","webpack://peerview-data-web/./app/javascript/src/NewUserForm.js","webpack://peerview-data-web/./app/javascript/src/workflows/workflow_data.js","webpack://peerview-data-web/./app/javascript/src/TopNavbar.js","webpack://peerview-data-web/./app/javascript/src/ReactourHelper.js","webpack://peerview-data-web/./app/javascript/src/NavFormIndustryDropdown.js","webpack://peerview-data-web/./app/javascript/src/utils/DropdownFilter.js","webpack://peerview-data-web/./app/javascript/src/utils/LoaderGraphic.js","webpack://peerview-data-web/./app/javascript/src/reports/contexts/index.js","webpack://peerview-data-web/./app/javascript/src/utils/index.js","webpack://peerview-data-web/./app/javascript/src/reports/charts/index.js","webpack://peerview-data-web/./app/javascript/src/utils/AccountTree.js","webpack://peerview-data-web/./app/javascript/src/utils/SVGIcons.js","webpack://peerview-data-web/./app/javascript/src/utils/CustomerSheets.js","webpack://peerview-data-web/./app/javascript/src/reports/SurveyHelper.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/AddAndEditDashboardView.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/DashboardViewsEditor.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/DashboardViewModal.js","webpack://peerview-data-web/./app/javascript/src/reports/ReportContainer.js","webpack://peerview-data-web/./app/javascript/src/reports/ReportTabsPopover.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/monthy_analysis_table_trailing12_calculations.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/MoneyHelpers.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/MoneyAnnualTable.js","webpack://peerview-data-web/./app/javascript/src/reports/AuditReport/AuditScenarios.js","webpack://peerview-data-web/./app/javascript/src/reports/AuditReport/AuditWPAnalytics.js","webpack://peerview-data-web/./app/javascript/src/reports/AuditReport/AuditExpenseAnalytics.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/MoneyReportSheets.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/CustomQuarterYTDReport.js","webpack://peerview-data-web/./app/javascript/src/progress_bar/Filler.js","webpack://peerview-data-web/./app/javascript/src/reports/ChatHistory.js","webpack://peerview-data-web/./app/javascript/src/reports/ChatTypewriter.js","webpack://peerview-data-web/./app/javascript/src/reports/ChatContainer.js","webpack://peerview-data-web/./app/javascript/src/reports/FunctionalExpenses.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ForecastHelpers.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/MoneyCashFlow.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/MoneyKFI.js","webpack://peerview-data-web/./app/javascript/src/reports/NAICSFocusedReport/NAICSFocusedReport.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyHistoricTable.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyHistoricCashFlow.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MoneyMonthlyKFI.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MoneyYTD.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MoneyYTDCashFlow.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MoneyYTDKFI.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/PeopleCustomersHelpers.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/ImpactBoxTextHelper.js","webpack://peerview-data-web/./app/javascript/src/reports/charts/chart_helpers.js","webpack://peerview-data-web/./app/javascript/src/reports/charts/DashBoardHighChartsHelper.js","webpack://peerview-data-web/./app/javascript/src/reports/tables/WageDataScaffold.js","webpack://peerview-data-web/./app/javascript/src/reports/ChildDashboard.js","webpack://peerview-data-web/./app/javascript/src/reports/charts/HighChartsUSmap.js","webpack://peerview-data-web/./app/javascript/src/reports/ParentDashboard.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/EditParentChildDashboard.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/DashboardViewControls.js","webpack://peerview-data-web/./app/javascript/src/reports/PDFDashboardHelper.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/TableChartIndustry.js","webpack://peerview-data-web/./app/javascript/src/reports/HOCs/card_hoc.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/PeopleCustomersTable.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/BigTableChartsForSheets.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/KPIsHelper.js","webpack://peerview-data-web/./app/javascript/src/reports/report_components/PeopleCustomersKPIs.js","webpack://peerview-data-web/./app/javascript/src/reports/MoneyReport.js","webpack://peerview-data-web/./app/javascript/src/utils/Extractor.js","webpack://peerview-data-web/./app/javascript/src/reports/InsufficientReportAnnual/DropzoneComponentForInsufficientReportAnnual.js","webpack://peerview-data-web/./app/javascript/src/reports/InsufficientReportAnnual/InsufficientReport.js","webpack://peerview-data-web/./app/javascript/src/utils/MountNotifications.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/ExportDropdown.js","webpack://peerview-data-web/./app/javascript/src/ExportPDFandPrint.js","webpack://peerview-data-web/./app/javascript/src/reports/Report.js","webpack://peerview-data-web/./app/javascript/src/reports/CustomReportPDFandPrint.js","webpack://peerview-data-web/./app/javascript/src/reports/CustomReport.js","webpack://peerview-data-web/./app/javascript/src/reports/ReportContainerWrapper.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/MonthlyForecastSheetMaker.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ForecastInputOutput.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ForecastSlider.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ForecastGrowthRateInput.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ApplyChangesToast.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/ForecastScenario.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/cashFlowStructure.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/MonthlyForecastCashFlow.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/MonthlyForecastLineChart.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyForecastKFITableBuilder.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyForecastKFITable.js","webpack://peerview-data-web/./app/javascript/src/reports/SurveyResponses.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/MonthlyForecast.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/InsufficientData.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyReport.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/CoverReportPage.js","webpack://peerview-data-web/./app/javascript/src/ForecastPDFandPrint.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/MonthlyReportContainer.js","webpack://peerview-data-web/./app/javascript/src/reports/DashboardViewEditorPage.js","webpack://peerview-data-web/./app/javascript/src/utils/Dropdown.js","webpack://peerview-data-web/./app/javascript/src/naics_chart_of_accounts/EditChartOfAccountsPreview.js","webpack://peerview-data-web/./app/javascript/src/progress_bar/ProgressBar.js","webpack://peerview-data-web/./app/javascript/src/progress_bar/Alert.js","webpack://peerview-data-web/./app/javascript/src/progress_bar/ProgressBarModal.js","webpack://peerview-data-web/./app/javascript/src/naics_chart_of_accounts/EditChartOfAccounts.js","webpack://peerview-data-web/./app/javascript/src/manage_firm/ManageFirm.js","webpack://peerview-data-web/./app/javascript/src/financial_data_uploads/Header.js","webpack://peerview-data-web/./app/javascript/src/financial_data_uploads/EditFdu.js","webpack://peerview-data-web/./app/javascript/src/naics_survey_formats/EditSurveyFormat.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryPDFandPrint.js","webpack://peerview-data-web/./app/javascript/src/reports/utils/EditDashboard.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryKFI.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryKPI.js","webpack://peerview-data-web/./app/javascript/src/reports/ReportsDashboard.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryDoctorsPNL.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryFunctionalExpenses.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryReport.js","webpack://peerview-data-web/./app/javascript/src/reports/IndustryReport/IndustryReportContainer.js","webpack://peerview-data-web/./app/javascript/src/IntacctLogin.js","webpack://peerview-data-web/./app/javascript/src/clients/MCDropdownFilter.js","webpack://peerview-data-web/./app/javascript/src/clients/DropzoneComponent.js","webpack://peerview-data-web/./app/javascript/src/clients/EditMultipleClientsForm.js","webpack://peerview-data-web/./app/javascript/src/clients/ViewsPopover.js","webpack://peerview-data-web/./app/javascript/src/clients/MCDraggableTabs.js","webpack://peerview-data-web/./app/javascript/src/clients/ManageClientsTable.js","webpack://peerview-data-web/./app/javascript/src/mapper/MappingTable.js","webpack://peerview-data-web/./app/javascript/src/mapper/MappingSheets.js","webpack://peerview-data-web/./app/javascript/src/financial_data_uploads/FduSelect.js","webpack://peerview-data-web/./app/javascript/src/mapper/MappingDragger.js","webpack://peerview-data-web/./app/javascript/src/mapper/Mapper.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/EventRow.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/MappingStatsTable.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/FduMappingStats.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/OpsTable.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/EventCounter.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/OpsContainer.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/CompanyCreated.js","webpack://peerview-data-web/./app/javascript/src/reports/PracticeReport/PRDropdownFilter.js","webpack://peerview-data-web/./app/javascript/src/reports/PracticeReport/PRPie.js","webpack://peerview-data-web/./app/javascript/src/utils/Tooltip.js","webpack://peerview-data-web/./app/javascript/src/reports/PracticeReport/PRAnalysis.js","webpack://peerview-data-web/./app/javascript/src/reports/PracticeReport/TrendChart.js","webpack://peerview-data-web/./app/javascript/src/reports/PracticeReport/PracticeReport.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/QualifiedCalcsInfo.js","webpack://peerview-data-web/./app/javascript/src/admin/OpsView/RecentFdusInfo.js","webpack://peerview-data-web/./app/javascript/src/PlanDetails.js","webpack://peerview-data-web/./app/javascript/src/PlansPaymentForm.js","webpack://peerview-data-web/./app/javascript/src/RecurlyPlans.js","webpack://peerview-data-web/./app/javascript/src/SignUp.js","webpack://peerview-data-web/./app/javascript/src/users/DashboardNotes.js","webpack://peerview-data-web/./app/javascript/src/users/UserDashboardPreferences.js","webpack://peerview-data-web/./app/javascript/src/users/RssFeed.js","webpack://peerview-data-web/./app/javascript/src/users/UserDashboard.js","webpack://peerview-data-web/./app/javascript/src/workflows/Workflow.js","webpack://peerview-data-web/./app/javascript/packs/Index.js","webpack://peerview-data-web/./app/javascript/src/reports/monthly/forecast/sticky_div.js","webpack://peerview-data-web/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["const INACTIVITY_LIMIT = (14 * 60 + 59) * 1000; // 14min.59sec (total in milliseconds)\nlet timeout;\n\nconst resetTimer = () => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n if (window.navbar && window.navbar.navbar.user_type !== 'Admin') {\n logoutUser();\n }\n }, INACTIVITY_LIMIT);\n}\n\nconst hrefBuilder = (subdomain, path) => {\n const domainSplit = document.location.host.split('.');\n domainSplit[0] = subdomain;\n return location.protocol + '//' + domainSplit.join('.') + path;\n};\n\nconst logoutUser = () => {\n let loginLink = hrefBuilder('app', '/users/sign_in')\n // Redirect to the login page\n window.location.href = loginLink;\n}\n\n// Listen for user activity\nwindow.addEventListener(\"mousemove\", resetTimer);\nwindow.addEventListener(\"keydown\", resetTimer);\nwindow.addEventListener(\"click\", resetTimer);\nwindow.addEventListener(\"scroll\", resetTimer);\n\n// Initialize the timer when the page loads\nresetTimer();\n","import React from \"react\";\nimport Modal from 'react-modal';\n\nconst VideoModal = React.memo((props) => {\n let videoLink = null;\n let modalPic = '';\n\n const hrefBuilder = (subdomain, path) => {\n const domainSplit = document.location.host.split('.');\n domainSplit[0] = subdomain;\n return location.protocol + '//' + domainSplit.join('.') + path;\n };\n\n switch (props.modalReport) {\n case 'practice':\n videoLink = 'https://www.youtube.com/embed/cN5C1fyz3uk?autoplay=1&mute=1';\n break;\n case 'industry':\n videoLink = 'https://www.youtube.com/embed/FWiT4c8uwAM?autoplay=1&mute=1';\n break;\n case 'people':\n modalPic = require('../../assets/images/PremiumPeople.png');\n break;\n case 'customers':\n modalPic = require('../../assets/images/PremiumCustomers.png');\n break;\n case 'forecast':\n videoLink = 'https://www.youtube.com/embed/d1ZYd3NviP0?autoplay=1&mute=1';\n break;\n case 'audit':\n modalPic = require('../../assets/images/PremiumAuditReports.jpeg');\n break;\n default:\n break;\n }\n\n const manageSubscriptionsURL = hrefBuilder(props.parentSubdomain, '/subscriptions')\n const unlockReportsLink = hrefBuilder(props.parentSubdomain, props.unlockReportsURL)\n const linkText = props.reportCredits ? \"Unlock Reports\" : \"Buy More Report Credits\"\n const purchaseText = \"Buy more report credits.\"\n\n return (\n \n
\n

Upgrade to Access These Reports

\n {videoLink ? (\n \n ) : (\n \"Modal\n )}\n {(props.userType !== 'Admin' && props.planAccess[props.modalReport] && !props.reportsUnlocked)\n ? (\n
\n

{`You have ${props.reportCredits} Report Credits left.`} {linkText}

\n
\n )\n : null}\n Manage Your Subscription\n

Click anywhere outside to close this pop-up.

\n
\n \n );\n});\n\nexport default VideoModal;\n","import React, { useState } from \"react\";\n\nconst UserPermissionsForm = (props) => {\n const [search, setSearch] = useState({\n display: false,\n results: [],\n })\n\n const handlePermissionOptions = (type, value, excluded = false) => {\n props.setUserPermissions((prevState) => {\n let newIncludeOptions = props.userPermissions.includeOptions\n let newExcludeOptions = props.userPermissions.excludeOptions\n let includeAll = props.userPermissions.includeAll\n\n if (type !== 'all') {\n let currentExcludeOptions = newExcludeOptions[type]\n let currentIncludeOptions = newIncludeOptions[type]\n\n let focusedArrOptions = excluded ? currentExcludeOptions : currentIncludeOptions\n let otherArrOptions = excluded ? currentIncludeOptions : currentExcludeOptions\n\n if (focusedArrOptions.includes(value)) {\n focusedArrOptions = focusedArrOptions.filter(s => s !== value)\n otherArrOptions.push(value)\n otherArrOptions = otherArrOptions.sort()\n } else {\n otherArrOptions = otherArrOptions.filter(s => s !== value)\n focusedArrOptions.push(value)\n focusedArrOptions = focusedArrOptions.sort()\n }\n\n if (excluded) {\n newExcludeOptions[type] = focusedArrOptions\n newIncludeOptions[type] = otherArrOptions\n } else {\n newExcludeOptions[type] = otherArrOptions\n newIncludeOptions[type] = focusedArrOptions\n }\n\n if (newExcludeOptions['naics_code'].length == 0 &&\n newExcludeOptions['partners'].length == 0 &&\n newExcludeOptions['office'].length == 0 &&\n newExcludeOptions['region'].length == 0 && !props.allFilterOptions['binder_type']) {\n includeAll = true\n } else if (newExcludeOptions['naics_code'].length == 0 &&\n newExcludeOptions['partners'].length == 0 &&\n newExcludeOptions['office'].length == 0 &&\n newExcludeOptions['region'].length == 0 && props.allFilterOptions['binder_type'] && newExcludeOptions['binder_type'].length == 0) {\n includeAll = true\n } else {\n includeAll = false\n }\n } else {\n newExcludeOptions['naics_code'] = []\n newExcludeOptions['partners'] = []\n newExcludeOptions['office'] = []\n newExcludeOptions['region'] = []\n if (props.allFilterOptions['binder_type']) {\n newExcludeOptions['binder_type'] = []\n }\n newIncludeOptions = props.allFilterOptions\n includeAll = true\n }\n // Config options first\n // Do 'or' with the filters\n let newExcludedClients = []\n\n if (!includeAll) {\n newExcludedClients = props.userPermissions.allCompanies.filter(c => {\n let naicsFound = newExcludeOptions['naics_code'].some((naics) => c.naics_code.startsWith(naics[0]))\n if (naicsFound ||\n newExcludeOptions['partners'].includes(c.partners) ||\n newExcludeOptions['office'].includes(c.office) ||\n newExcludeOptions['region'].includes(c.region) ||\n (props.allFilterOptions['binder_type'] && newExcludeOptions['binder_type'].includes(c.binder_type))) {\n return c\n }\n })\n }\n\n return {\n ...prevState,\n includeAll: includeAll,\n excludedClients: newExcludedClients,\n includeOptions: newIncludeOptions,\n excludeOptions: newExcludeOptions\n }\n })\n }\n\n const buildOptions = (type, excluded = false) => {\n let buttonStyle = ''\n let optionDivStyle = ''\n if (type === 'naics_code') {\n buttonStyle = props.modal ? 'user-permission-naics-btns' : 'new-user-permission-naics-btns'\n optionDivStyle = excluded ? 'user-permission-exclude-options' : 'user-permission-include-options'\n } else {\n buttonStyle = 'user-permission-btns'\n optionDivStyle = excluded ? 'user-permission-exclude-options-wrap' : 'user-permission-include-options-wrap'\n }\n\n let options = excluded ? props.userPermissions.excludeOptions[type] : props.userPermissions.includeOptions[type]\n let optionLabel = excluded ? 'Excluded' : 'Included'\n\n if (type === 'naics_code') {\n options = options.filter(naics => {\n if (naics && naics[0] === 'vets') {\n return naics\n } else if (naics && naics[0].length == 2) {\n return naics\n }\n })\n } else {\n options = options.filter(o => o !== 'All')\n }\n\n return (\n
\n {optionLabel}\n
\n {options.map((l, i) => {\n return (\n
handlePermissionOptions(type, l, excluded)}>{l}
\n )\n })}\n
\n
\n )\n }\n\n const addToExcludedClients = (client) => {\n props.setUserPermissions((prevState) => {\n let newExcludedClients = props.userPermissions.excludedClients\n let checkExcluded = newExcludedClients.find(e => e.id == client.id)\n if (!checkExcluded) {\n newExcludedClients.push(client)\n newExcludedClients = newExcludedClients.sort()\n }\n return {\n ...prevState,\n excludedClients: newExcludedClients\n }\n })\n }\n\n const removeExcludedClient = (client) => {\n props.setUserPermissions((prevState) => {\n let newExcludedClients = props.userPermissions.excludedClients.filter(e => e.id !== client.id)\n return {\n ...prevState,\n excludedClients: newExcludedClients\n }\n })\n }\n\n const displaySearchSection = () => {\n setSearch((prevState) => {\n return {\n ...prevState,\n display: !search.display\n }\n })\n }\n\n const searchForClient = (text) => {\n if (text) {\n let allCompanies = props.userPermissions.allCompanies;\n let finalText = text.toLowerCase()\n let searchResults = allCompanies.filter(c => c.name.toLowerCase().includes(finalText) || c.real_name && c.real_name.toLowerCase().includes(finalText))\n\n setSearch((prevState) => {\n return {\n ...prevState,\n results: searchResults\n }\n })\n } else {\n setSearch((prevState) => {\n return {\n ...prevState,\n results: []\n }\n })\n }\n }\n\n const buildExcludedClients = () => {\n let excludedClients = []\n props.userPermissions.excludedClients.forEach((e, i) => {\n if (e) {\n let companyName = e.real_name ? e.name + ' - ' + e.real_name : e.name\n excludedClients.push(
removeExcludedClient(e)}>{companyName}X
)\n }\n })\n return excludedClients\n }\n\n return (\n
\n {props.userModalData\n ?
\n \n \n \n

{props.userModalData.name}

\n
\n : null\n }\n
\n

Select and exclude which clients this user cannot view based on NAICS codes, partner, office, or region. You can exclude individual clients too.

\n
{props.userPermissions.includeAll ?

This user can access All Clients.

: }
\n
\n \n
\n {buildOptions('naics_code')}\n {buildOptions('naics_code', true)}\n
\n
\n
\n \n
\n {buildOptions('partners')}\n {buildOptions('partners', true)}\n
\n
\n
\n \n
\n {buildOptions('office')}\n {buildOptions('office', true)}\n
\n
\n
\n \n
\n {buildOptions('region')}\n {buildOptions('region', true)}\n
\n
\n {props.allFilterOptions.binder_type\n ?
\n \n
\n {buildOptions('binder_type')}\n {buildOptions('binder_type', true)}\n
\n
\n : null\n }\n\n\n
\n
\n

Excluded Clients

\n
\n
\n \n {\n search.display\n ? (
\n searchForClient(e.target.value)} />\n
\n {search.results.map(s => {\n let companyName = s.real_name ? s.name + ' - ' + s.real_name : s.name\n if (props.userPermissions.excludedClients.find(ex => ex.name === s.name)) {\n return
{companyName}
\n } else {\n return
addToExcludedClients(s)}>{companyName}+
\n }\n })}\n
\n
)\n : null\n }\n
\n
\n {buildExcludedClients()}\n
\n
\n
\n
\n )\n}\n\nexport default UserPermissionsForm;","import React, { useState } from \"react\";\nimport UserPermissionsForm from \"./UserPermissionsForm\";\nimport { toast } from 'react-toastify';\n\nconst NewUserForm = (props) => {\n // prevent object mutation by Updating userPermissions state\n const filterOptions = _.cloneDeep(props.filter_options_obj)\n const [formData, setFormData] = useState({\n email: '',\n sso_only: false,\n first_name: '',\n last_name: '',\n position: '',\n user_type: 'Admin',\n company_id: null,\n email_match: true,\n error: ''\n })\n\n const [userPermissions, setUserPermissions] = useState({\n isOpen: false,\n allCompanies: props.all_companies,\n excludedClients: [],\n includeAll: true,\n includeOptions: filterOptions,\n excludeOptions: {\n naics_code: [],\n partners: [],\n office: [],\n region: [],\n binder_type: []\n }\n })\n\n const handleUserForm = (type, value) => {\n if (type === 'email') {\n let emailMatch = props.email_ends.filter(e => value.includes(e))\n let userType = 'Client'\n let companyID = null\n let error = ''\n if (emailMatch.length > 0) {\n userType = 'Admin'\n } else {\n companyID = props.all_companies.length > 0 ? props.all_companies[0].id : null\n error = companyID ? '' : 'Please create a new Client first.'\n }\n\n setFormData((prevState) => {\n let newUserData = _.cloneDeep(formData)\n newUserData.email = value\n newUserData.email_match = emailMatch.length > 0\n newUserData.user_type = userType\n newUserData.company_id = companyID\n newUserData.error = error\n return newUserData\n })\n } else if (type === 'user_type') {\n if (props.all_companies.length > 0) {\n setFormData((prevState) => {\n let newUserData = _.cloneDeep(formData)\n newUserData.error = ''\n newUserData.user_type = value\n newUserData.company_id = value !== 'Client' ? null : props.all_companies[0].id\n return newUserData\n })\n } else {\n setFormData((prevState) => {\n let newUserData = _.cloneDeep(formData)\n newUserData.error = 'Please create a new Client first.'\n return newUserData\n })\n }\n } else {\n setFormData((prevState) => {\n let newUserData = _.cloneDeep(formData)\n newUserData[type] = value\n newUserData.error = ''\n return newUserData\n })\n }\n }\n\n const createNewUser = async (e) => {\n e.preventDefault()\n let changes = true\n if ((!formData.email_match && formData.user_type === 'Admin') || (!formData.email_match && formData.user_type === 'Team Member')) {\n changes = confirm('Are you sure you want new user to have access to these clients?');\n }\n if (changes) {\n let companyIds = userPermissions.excludedClients.map(c => c.id)\n const newUserData = {\n email: formData.email,\n sso_only: formData.sso_only,\n first_name: formData.first_name,\n last_name: formData.last_name,\n position: formData.position,\n user_type: formData.user_type,\n company_id: formData.company_id,\n using_navbar: props.using_navbar,\n excluded_clients: companyIds,\n excluded_client_options: userPermissions.excludeOptions\n }\n\n try {\n const res = await fetch('/clients', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(newUserData),\n })\n const resJson = await res.json();\n\n if (resJson.success && !props.using_navbar) {\n window.location.href = resJson.redirect_to\n } else if (resJson.success && props.using_navbar) {\n toast.success('New User Invited!', {\n onClick: () => toast.dismiss(),\n });\n } else if (resJson.error) {\n setFormData((prevState) => {\n return {\n ...prevState,\n error: resJson.error\n }\n })\n }\n } catch (error) {\n console.log(error, 'error')\n }\n }\n }\n\n return (\n
\n
createNewUser(e)}>\n
\n
\n \n handleUserForm('email', e.target.value)} value={formData.email} />\n
\n {/*
\n For Intuit/QuickBooks Online Users Only: If you want your new user to login into Peerview Data with their Intuit account, please use the same email associated with their Intuit account.\n
\n Is the email above the same as your new user's Intuit email?\n
\n
\n \n handleUserForm('sso_only', true)} />\n
\n
\n \n handleUserForm('sso_only', false)} />\n
\n
\n
\n
*/}\n
\n \n handleUserForm('first_name', e.target.value)} value={formData.first_name} />\n
\n
\n \n handleUserForm('last_name', e.target.value)} value={formData.last_name} />\n
\n
\n \n handleUserForm('position', e.target.value)} value={formData.position} />\n
\n
\n \n handleUserForm('user_type', value)}\n value={formData.user_type}\n >\n {['Admin', 'Team Member', 'Client'].map((type) => (\n \n ))}\n \n
\n {formData.user_type === 'Client' &&
\n \n handleUserForm('company_id', value)}\n value={formData.company_id}\n >\n {props.all_companies.map((c) => (\n \n ))}\n \n
\n\n }\n
\n {formData.user_type !== 'Client' &&
\n \n
}\n

{formData.error}

\n
\n \n
\n
\n
\n )\n}\n\nexport default NewUserForm;","const workflows = [\n {\n id: 1,\n title: \"Cash Flow Improvement\",\n sections: [\n {\n title: \"Accounts Receivable (A/R) Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Accounts Receivable Aging\",\n description: \"Review the aging of accounts receivable to identify overdue payments. Focus on customers with long outstanding balances and determine if there are systematic delays or collection inefficiencies.\"\n },\n {\n name: \"Implement Stricter Payment Terms\",\n description: \"Shorten payment terms, such as moving from 60 days to 30 days, and incentivize early payments by offering discounts. Discourage late payments through penalties or interest charges.\"\n },\n {\n name: \"Improve Invoicing and Collection Process\",\n description: \"Automate invoicing and follow-up reminders. Implement electronic payment options to reduce collection time.\"\n },\n {\n name: \"A/R Management Workflow:\",\n workflow: [\n \"Analyze A/R aging and identify overdue payments.\",\n \"Contact overdue clients and offer payment plans if necessary.\",\n \"Adjust credit policies and shorten payment terms.\",\n \"Offer early payment discounts and enforce penalties for late payments.\",\n \"Implement automated invoicing and follow-up reminders.\",\n \"Present strategies to the client for improving A/R processes.\"\n ]\n }\n ],\n },\n {\n title: \"Accounts Payable (A/P) Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Payment Terms with Vendors\",\n description: \"Evaluate current payment terms and explore opportunities to extend payment terms without incurring penalties. Longer payment cycles give more time to hold onto cash.\"\n },\n {\n name: \"Negotiate with Suppliers\",\n description: \"Approach key suppliers to negotiate more favorable terms, such as longer payment cycles or discounts for bulk purchases. Consider building relationships with alternative vendors if terms are not favorable.\"\n },\n {\n name: \"Delay Non-Essential Payments\",\n description: \"Delay payments where possible, without impacting relationships or incurring penalties. Prioritize critical payments to preserve cash flow.\"\n },\n {\n name: \"A/P Management Workflow:\",\n workflow: [\n \"Analyze existing payment terms and prioritize essential payments.\",\n \"Negotiate extended payment terms with suppliers.\",\n \"Review vendor contracts to identify opportunities for discounts or more favorable terms.\",\n \"Schedule non-essential payments to maximize cash retention.\",\n \"Present improved A/P management strategies to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Inventory Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Inventory Turnover Ratio\",\n description: \"Analyze the client’s inventory turnover to identify slow-moving or obsolete inventory that ties up cash. Compare the turnover ratio with industry standards and identify inventory that needs to be sold off or discounted.\"\n },\n {\n name: \"Implement Just-in-Time (JIT) or Lean Inventory Practices\",\n description: \"Adopt JIT or lean inventory management to avoid overstocking. Order inventory based on demand forecasts to reduce holding costs and improve cash flow.\"\n },\n {\n name: \"Liquidate Excess Inventory\",\n description: \"Clear out slow-moving or excess inventory through promotions, discounts, or bundled sales. Convert inventory back into cash as quickly as possible.\"\n },\n {\n name: \"Inventory Management Workflow:\",\n workflow: [\n \"Analyze inventory turnover and identify slow-moving stock.\",\n \"Liquidate excess inventory through sales or discounts.\",\n \"Implement JIT or lean inventory management to avoid overstocking.\",\n \"Monitor inventory levels continuously and adjust reordering based on demand forecasts.\",\n \"Present an inventory optimization plan to free up cash.\"\n ]\n }\n ],\n },\n {\n title: \"Cash Flow Forecasting\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Develop a Short-Term Cash Flow Forecast\",\n description: \"Create a rolling 13-week cash flow forecast to predict upcoming cash inflows and outflows. This will allow the client to anticipate cash shortfalls or surpluses.\"\n },\n {\n name: \"Monitor Cash Flow Regularly\",\n description: \"Set up a process for reviewing the cash flow forecast weekly or biweekly to adjust for any unexpected changes in revenue or expenses.\"\n },\n {\n name: \"Cash Flow Forecasting Workflow:\",\n workflow: [\n \"Develop a 13-week rolling cash flow forecast.\",\n \"Input expected cash inflows (e.g., customer payments, loans) and outflows (e.g., payroll, expenses).\",\n \"Review cash flow weekly and make adjustments as necessary.\",\n \"Use the forecast to plan for cash needs, such as financing or cost-cutting.\",\n \"Present the cash flow forecast and management strategy to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Debt and Financing Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Existing Debt Structure\",\n description: \"Analyze current loans, lines of credit, and other financing arrangements to identify high-interest debt. Determine if refinancing or restructuring is an option to reduce monthly payments.\"\n },\n {\n name: \"Explore Alternative Financing Options\",\n description: \"If short-term cash flow issues persist, consider alternative financing options such as factoring receivables, using lines of credit, or seeking lower-interest loans.\"\n },\n {\n name: \"Debt Management Workflow:\",\n workflow: [\n \"Review current debt obligations and interest rates.\",\n \"Explore opportunities for refinancing or restructuring high-interest debt.\",\n \"Consider alternative financing (e.g., lines of credit) for short-term cash flow needs.\",\n \"Develop a debt repayment plan to minimize monthly cash outflows.\",\n \"Present a debt optimization strategy to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Expense Control and Optimization\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Operating Expenses\",\n description: \"Analyze fixed and variable expenses to identify unnecessary or excessive costs. Look for opportunities to reduce overhead, such as by renegotiating contracts or outsourcing non-core activities.\"\n },\n {\n name: \"Implement Cost-Cutting Measures\",\n description: \"Recommend strategies to reduce non-essential spending without impacting operational efficiency. This could include cutting back on office supplies, utilities, or non-critical business functions.\"\n },\n {\n name: \"Expense Optimization Workflow:\",\n workflow: [\n \"Review fixed and variable expenses, identifying areas for reduction.\",\n \"Cut back on non-essential spending and renegotiate contracts where possible.\",\n \"Optimize operational efficiency through process improvements or outsourcing.\",\n \"Implement energy-saving measures or other cost-saving initiatives.\",\n \"Present cost-cutting strategies and their expected impact on cash flow to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Pricing and Revenue Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Pricing Strategy\",\n description: \"Assess current pricing to ensure it aligns with the value provided and market demand. Look for opportunities to increase prices for high-demand or premium services, or offer new products to boost cash inflows.\"\n },\n {\n name: \"Accelerate Revenue Recognition\",\n description: \"If applicable, explore options to shift from long-term billing cycles to more frequent invoicing or prepayment plans, thus accelerating revenue collection.\"\n },\n {\n name: \"Revenue Management Workflow:\",\n workflow: [\n \"Review pricing to ensure alignment with market demand and profitability goals.\",\n \"Implement price increases where appropriate.\",\n \"Shift to more frequent invoicing or prepayment models where applicable.\",\n \"Present a revised pricing and revenue strategy to the client to improve cash flow.\"\n ]\n }\n ],\n },\n {\n title: \"Tax Planning and Deferral\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Current Tax Liabilities\",\n description: \"Assess the client’s tax obligations, ensuring that all credits and deductions are being utilized. Explore tax deferral strategies or tax payment plans to smooth out cash outflows related to taxes.\"\n },\n {\n name: \"Implement Tax Deferral Strategies\",\n description: \"Consider tax deferral options such as prepaying deductible expenses or taking advantage of bonus depreciation on capital expenditures.\"\n },\n {\n name: \"Tax Planning Workflow:\",\n workflow: [\n \"Review current tax strategy and identify underutilized deductions or credits.\",\n \"Implement tax deferral strategies to delay tax payments and improve cash flow.\",\n \"Consider making quarterly tax payments to avoid large lump sum payments.\",\n \"Present tax planning strategies to optimize cash flow during tax periods.\"\n ]\n }\n ],\n },\n {\n title: \"Capital Expenditure (CapEx) Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Planned CapEx Projects\",\n description: \"Review upcoming capital expenditure projects to determine which can be delayed, reduced, or financed to preserve cash.\"\n },\n {\n name: \"Optimize CapEx Financing\",\n description: \"Where CapEx is necessary, explore financing options such as leasing or securing low-interest loans to spread the cost over time, rather than paying upfront in cash.\"\n },\n {\n name: \"CapEx Management Workflow:\",\n workflow: [\n \"Review planned CapEx and assess the necessity of each project.\",\n \"Delay or scale back non-essential CapEx to conserve cash.\",\n \"Explore financing options such as leasing or borrowing for critical CapEx.\",\n \"Present CapEx management strategies to the client, focusing on cash preservation.\"\n\n ]\n }\n ],\n },\n {\n title: \"Dividend or Owner Draw Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Dividend Policy or Owner Draws\",\n description: \"If the client is distributing significant profits or taking large owner draws, recommend adjusting the distribution schedule or reducing the amounts to retain more cash in the business.\"\n },\n {\n name: \"Retain Earnings for Growth\",\n description: \"Suggest retaining a higher percentage of earnings to reinvest in the business and strengthen cash flow, especially during periods of financial stress.\"\n },\n {\n name: \"Dividend/Draw Management Workflow:\",\n workflow: [\n \"Review the client’s current dividend or owner draw policy.\",\n \"Recommend reducing or deferring distributions during cash flow crunches.\",\n \"Retain earnings to improve liquidity and reinvest in growth opportunities.\"\n ]\n }\n ],\n },\n ],\n summary: \"\"\n },\n {\n id: 2,\n title: \"Compensation Reduction\",\n sections: [\n {\n title: \"Analyze Overall Compensation Structure\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Job Roles and Salary Ranges\",\n description: \"Assess whether employees are being compensated fairly according to their roles and responsibilities, but also identify where pay is out of line with industry norms.\"\n },\n {\n name: \"Identify Overcompensated Positions\",\n description: \"Flag any roles where compensation exceeds what is typical for the industry and explore whether reductions or restructuring is possible.\"\n },\n {\n name: \"Compensation Structure Workflow:\",\n workflow: [\n \"Review each role's salary compared to industry benchmarks.\",\n \"Identify positions with compensation significantly above market rates and assess if the responsibilities justify the pay.\",\n \"Propose adjustments or reclassify overcompensated roles, offering alternatives like reduced salaries, adjusted responsibilities, or phased reductions.\",\n \"Implement salary bands to ensure pay is standardized across roles and stays within industry norms.\",\n \"Communicate any changes to employees, ensuring transparency about why compensation adjustments are being made.\",\n ]\n }\n ],\n },\n {\n title: \"Evaluate Benefits and Perks Packages\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Health and Retirement Benefits\",\n description: \"Analyze the current cost of health, dental, retirement, and other benefits packages, and compare them to industry standards.\"\n },\n {\n name: \"Assess Non-Monetary Perks\",\n description: \"Examine the costs of non-salary compensation, such as employee perks (gym memberships, company cars, etc.), and determine if they can be reduced or removed.\"\n },\n {\n name: \"Benefits Review Workflow:\",\n workflow: [\n \"Conduct a cost-benefit analysis of the current health, retirement, and other benefits offered.\",\n \"Explore options for reducing the company’s benefits expenses, such as switching to more cost-effective providers or adjusting contribution levels.\",\n \"Identify high-cost, non-essential perks and consider eliminating them or offering lower-cost alternatives (e.g., wellness programs vs. gym memberships).\",\n \"Communicate benefits adjustments clearly to employees, focusing on balancing cost savings with retaining core benefits.\",\n \"Revisit benefit costs annually to ensure ongoing alignment with industry standards.\"\n ]\n }\n ],\n },\n {\n title: \"Reassess Bonuses and Incentive Programs\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Performance-Based Pay\",\n description: \"Assess if bonuses or incentive payments are effectively tied to performance or if they are being paid too generously without clear justification.\"\n },\n {\n name: \"Cap or Restructure Bonus Programs\",\n description: \"Consider implementing caps on bonuses or restructuring incentive plans to ensure they are directly tied to meaningful performance metrics.\"\n },\n {\n name: \"Bonus and Incentive Workflow:\",\n workflow: [\n \"Review historical data on bonuses and incentives paid over the last few years.\",\n \"Determine whether bonuses are linked to specific, measurable performance goals or if they are discretionary.\",\n \"Propose a restructured incentive program with clear performance metrics and capped bonus amounts tied to specific achievements.\",\n \"Implement a tiered bonus structure that aligns payout with company performance as well as individual goals.\",\n \"Monitor the impact of these changes on both employee performance and overall compensation costs.\"\n ]\n }\n ],\n },\n {\n title: \"Control Overtime and Extra Pay Policies\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Overtime Usage\",\n description: \"Identify any patterns of excessive overtime pay and analyze whether this overtime is necessary or can be reduced through better workforce planning.\"\n },\n {\n name: \"Set Overtime Controls\",\n description: \"Implement strict policies around when overtime is authorized and incentivize employees to complete tasks within regular working hours.\"\n },\n {\n name: \"Overtime and Extra Pay Workflow:\",\n workflow: [\n \"Conduct an overtime audit to identify which employees or departments are frequently incurring overtime costs.\",\n \"Evaluate whether the overtime is necessary or due to inefficiencies that could be improved with better scheduling.\",\n \"Set clear policies around when overtime is allowed, requiring approval for any extra hours worked.\",\n \"Encourage managers to distribute workload effectively to avoid overtime, potentially hiring part-time or temporary workers for peak periods instead of relying on overtime.\",\n \"Regularly review overtime reports and ensure that extra pay is only being granted when absolutely necessary.\"\n ]\n }\n ],\n },\n {\n title: \"Assess Workforce Size and Staffing Levels\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Staffing Efficiency\",\n description: \"Analyze whether the current workforce is appropriately sized or if overstaffing is contributing to higher compensation costs.\"\n },\n {\n name: \"Evaluate Use of Temporary or Part-Time Workers\",\n description: \"Assess whether certain functions could be handled by part-time, contract, or temporary employees instead of full-time staff.\"\n },\n {\n name: \"Staffing Efficiency Workflow:\",\n workflow: [\n \"Review headcount and department structure to identify any areas where the business may be overstaffed.\",\n \"Conduct a job analysis to assess whether roles can be consolidated, eliminating redundant positions.\",\n \"Explore the use of part-time, contract, or freelance workers to meet demand without incurring the cost of full-time compensation.\",\n \"Propose a hiring freeze or phased reduction in headcount if overstaffing is identified, aiming to reduce staff through natural attrition where possible.\",\n \"Regularly reassess workforce needs to adjust staffing levels based on operational demand.\"\n ]\n }\n ],\n },\n {\n title: \"Implement Workforce Flexibility\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Introduce Flexible Work Arrangements\",\n description: \"Explore the potential of flexible work schedules (e.g., part-time, remote, or seasonal work) to reduce compensation costs while maintaining productivity.\"\n },\n {\n name: \"Leverage Freelancers and Contractors\",\n description: \"For roles that don’t require full-time employees, consider using freelancers or contractors to reduce long-term salary and benefit costs.\"\n },\n {\n name: \"Flexible Workforce Workflow:\",\n workflow: [\n \"Identify roles or functions that can be performed on a part-time or freelance basis rather than requiring full-time employment.\",\n \"Implement flexible work options, including part-time roles, remote work, or seasonal hiring, to balance labor needs with compensation costs.\",\n \"Explore outsourcing non-core functions to reduce labor costs while maintaining service levels.\",\n \"Reassess workforce productivity regularly to ensure that flexible labor arrangements are delivering cost savings without compromising quality.\",\n \"Adjust labor strategy based on workload and business cycles to maintain flexibility in staffing and compensation.\",\n ]\n }\n ],\n },\n {\n title: \"Communicate Compensation Changes Effectively\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Plan for Transparency\",\n description: \"Be transparent with employees about why changes to compensation are being made and how it will affect them.\"\n },\n {\n name: \"Emphasize Retention and Fairness\",\n description: \"While reducing compensation costs, emphasize that the goal is to remain competitive in the market while ensuring the long-term stability of the business.\"\n },\n {\n name: \"Communication Workflow:\",\n workflow: [\n \"Develop a communication plan to explain compensation changes, ensuring that leadership and managers are aligned on messaging.\",\n \"Clearly outline the reasons for compensation adjustments, emphasizing the alignment with industry standards and the goal of maintaining financial health.\",\n \"Provide employees with options for feedback or discussions, showing that their concerns are being taken into account.\",\n \"Implement a phased approach where necessary, allowing employees to adjust to compensation changes over time.\",\n \"Monitor employee morale following compensation adjustments and implement retention strategies, such as professional development opportunities or non-monetary benefits, to mitigate the impact of reductions.\",\n ]\n }\n ],\n },\n {\n title: \"Continuously Monitor Compensation Costs\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Establish Regular Compensation Reviews\",\n description: \"Set up a schedule for regular reviews of compensation practices to ensure ongoing alignment with industry benchmarks.\"\n },\n {\n name: \"Track Metrics and Adjust as Needed\",\n description: \"Monitor compensation cost metrics, such as salary-to-revenue ratios and employee productivity, and adjust compensation practices as necessary.\"\n },\n {\n name: \"Ongoing Compensation Monitoring Workflow:\",\n workflow: [\n \"Set a quarterly or annual review process to assess compensation costs and compare them against industry benchmarks.\",\n \"Track key metrics, such as total compensation as a percentage of revenue, and identify any increases or inefficiencies.\",\n \"Adjust compensation strategies based on the latest market data, employee performance, and business conditions.\",\n \"Implement cost-saving measures proactively if compensation begins to drift out of line with industry norms.\",\n \"Continuously engage with employees on compensation topics to ensure transparency and avoid unexpected issues.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this structured workflow, you can systematically address the key factors contributing to your client’s elevated compensation costs and propose strategies for aligning these costs with industry benchmarks. Each section focuses on a different area of compensation, ensuring a comprehensive approach that doesn’t sacrifice employee satisfaction or operational efficiency while optimizing cost management.\"\n },\n {\n id: 3,\n title: \"Decrease Capital Equipment\",\n sections: [\n {\n title: \"Assess Existing Capital Equipment Utilization\",\n displayTasks: true,\n objective: \"Identify underutilized or obsolete equipment and determine whether all assets are necessary for current operations.\",\n tasks: [\n {\n name: \"Evaluate Equipment Utilization Rates\",\n description: \"Review the current utilization of capital equipment. Identify which assets are underused or sitting idle.\"\n },\n {\n name: \"Identify Obsolete or Unnecessary Equipment\",\n description: \"Assess if certain equipment is outdated or unnecessary for the current scope of operations. Technology advancements or process changes may have rendered some equipment obsolete.\"\n },\n {\n name: \"Utilization Workflow:\",\n workflow: [\n \"Conduct an audit of all capital equipment to determine usage rates.\",\n \"Categorize equipment into fully utilized, underutilized, and unused categories.\",\n \"Identify outdated or obsolete equipment that may no longer serve a critical function.\",\n \"Present findings to the client, highlighting opportunities to dispose of, sell, or repurpose equipment.\"\n ]\n }\n ],\n },\n {\n title: \"Evaluate Lease vs. Purchase Decisions\",\n displayTasks: true,\n objective: \"Determine if leasing equipment, rather than purchasing it, could reduce capital costs.\",\n tasks: [\n {\n name: \"Review Current Ownership Model\",\n description: \"Analyze whether your client owns most of their capital equipment or leases it. Ownership often requires significant upfront investment, maintenance, and depreciation costs.\"\n },\n {\n name: \"Analyze Leasing Options\",\n description: \"Explore if leasing equipment could provide cost savings, especially for assets with short lifespans or rapidly changing technology.\"\n },\n {\n name: \"Lease vs. Purchase Workflow:\",\n workflow: [\n \"Review the current equipment ownership structure and total costs (including depreciation and maintenance).\",\n \"Compare these costs to the potential benefits of leasing equipment (lower upfront costs, tax benefits).\",\n \"Identify assets that may be better suited for leasing rather than purchasing outright.\",\n \"Present leasing options to the client, showing how switching to leases could reduce overall costs.\"\n ]\n }\n ],\n },\n {\n title: \"Optimize Maintenance and Repair Costss\",\n displayTasks: true,\n objective: \"Review and streamline equipment maintenance processes to reduce repair and upkeep expenses.\",\n tasks: [\n {\n name: \"Assess Maintenance Frequency and Costs\",\n description: \"Review the frequency and costs associated with maintaining capital equipment. Excessive repair and maintenance costs may indicate that the equipment is either outdated or inefficient.\"\n },\n {\n name: \"Consider Outsourcing Maintenance\",\n description: \"Evaluate the potential cost savings of outsourcing maintenance to third-party service providers, especially if your client is currently handling repairs in-house.\"\n },\n {\n name: \"Maintenance Optimization Workflow:\",\n workflow: [\n \"Review maintenance logs and repair costs to identify patterns of excessive maintenance expenses.\",\n \"Determine if maintenance costs could be reduced by renegotiating service contracts or outsourcing maintenance.\",\n \"Analyze whether some equipment should be retired or replaced if it is costly to maintain.\",\n \"Present a maintenance optimization plan to the client, highlighting opportunities to reduce costs.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Equipment Efficiency\",\n displayTasks: true,\n objective: \"Identify inefficiencies in equipment operation and reduce unnecessary energy consumption or downtime.\",\n tasks: [\n {\n name: \"Analyze Energy and Operational Costs\",\n description: \"Review the energy consumption and operating costs of current equipment. Older machinery may consume more energy or require more downtime, increasing overall costs.\"\n },\n {\n name: \"Upgrade to Energy-Efficient Models\",\n description: \"Explore upgrading to energy-efficient or higher-performing equipment that reduces operational costs over time, even though it may involve initial capital outlay.\"\n },\n {\n name: \"Efficiency Workflow:\",\n workflow: [\n \"Review energy and operational data for current equipment to identify inefficiencies.\",\n \"Calculate potential cost savings from upgrading to more efficient models, focusing on energy and downtime reductions.\",\n \"Compare the total cost of ownership (TCO) for current equipment versus energy-efficient replacements.\",\n \"Present energy and operational cost-saving recommendations to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Asset Disposal or Liquidation\",\n displayTasks: true,\n objective: \"Dispose of excess or unnecessary equipment to recoup capital and reduce storage and maintenance costs.\",\n tasks: [\n {\n name: \"Identify Sellable or Liquidatable Equipment\",\n description: \"Determine which equipment could be sold or liquidated. This will free up capital and reduce storage, insurance, and maintenance costs.\"\n },\n {\n name: \"Explore Resale or Trade-in Opportunities\",\n description: \"Investigate secondary markets or trade-in programs that allow the client to recoup some value from their older equipment.\"\n },\n {\n name: \"Disposal Workflow:\",\n workflow: [\n \"Identify underutilized or obsolete equipment that can be sold or liquidated.\",\n \"Research resale or trade-in options to determine the best financial outcome.\",\n \"Develop a plan for the sale or disposal of excess equipment, considering any tax implications.\",\n \"Present an asset disposal plan to the client, outlining potential capital recovery.\"\n ]\n }\n ],\n },\n {\n title: \"Consolidation of Equipment\",\n displayTasks: true,\n objective: \"Explore opportunities to consolidate similar equipment to reduce duplication and enhance efficiency.\",\n tasks: [\n {\n name: \"Review Equipment Duplication\",\n description: \"Assess whether the client has multiple pieces of equipment performing the same function across different departments or locations. Equipment consolidation may reduce costs.\"\n },\n {\n name: \"Reassign Equipment Across Locations\",\n description: \"If applicable, redistribute underutilized equipment to areas where it is most needed, rather than purchasing new assets.\"\n },\n {\n name: \"Consolidation Workflow:\",\n workflow: [\n \"Conduct a review to identify duplicated equipment across departments or locations.\",\n \"Explore opportunities to reassign equipment to different areas within the company to maximize utilization.\",\n \"Eliminate the need for new purchases by repurposing existing assets.\",\n \"Present equipment consolidation and reassignment strategies to the client to reduce capital expenditures.\"\n ]\n }\n ],\n },\n {\n title: \"Review Depreciation Strategy\",\n displayTasks: true,\n objective: \"Optimize the depreciation of capital equipment for tax and financial reporting purposes.\",\n tasks: [\n {\n name: \"Reassess Depreciation Methods\",\n description: \"Review the client’s current depreciation schedule to ensure it is optimized for tax benefits. Consider switching to a more aggressive depreciation method if allowed, to accelerate write-offs.\"\n },\n {\n name: \"Write Off Obsolete Equipment\",\n description: \"Ensure that any obsolete equipment is written off, so it no longer impacts the balance sheet unnecessarily.\"\n },\n {\n name: \"Depreciation Workflow:\",\n workflow: [\n \"Review the client’s current depreciation strategy for all capital equipment.\",\n \"Determine if switching to a more aggressive depreciation schedule would offer tax benefits.\",\n \"Write off obsolete or fully depreciated assets to clean up the balance sheet.\",\n \"Present a revised depreciation strategy to the client to optimize tax savings and financial reporting.\"\n ]\n }\n ],\n },\n {\n title: \"Reevaluate Capital Equipment Investment Plans\",\n displayTasks: true,\n objective: \"Ensure that future capital equipment investments are aligned with the client’s business strategy and cash flow needs.\",\n tasks: [\n {\n name: \"Pause Unnecessary Capital Expenditure\",\n description: \"Recommend pausing or delaying any planned capital expenditures that are not critical to business operations or growth.\"\n },\n {\n name: \"Align Equipment Investments with Growth Strategy\",\n description: \"Reevaluate long-term capital equipment plans to ensure alignment with business goals and that investments are justified by growth projections.\"\n },\n {\n name: \"Investment Plan Workflow:\",\n workflow: [\n \"Review the client’s future capital equipment investment plans.\",\n \"Identify unnecessary or non-urgent purchases that can be paused or delayed.\",\n \"Ensure that any future investments are backed by a clear ROI analysis and aligned with strategic growth.\",\n \"Present a revised capital investment plan to the client, focusing on deferring non-essential purchases.\"\n ]\n }\n ],\n },\n {\n title: \"Consider Outsourcing Non-Core Functions\",\n displayTasks: true,\n objective: \"Explore outsourcing options for certain functions to reduce the need for capital-intensive equipment.\",\n tasks: [\n {\n name: \"Identify Functions that Can Be Outsourced\",\n description: \"Determine if certain non-core operations, such as manufacturing, logistics, or IT infrastructure, can be outsourced to reduce reliance on capital equipment.\"\n },\n {\n name: \"Evaluate Outsourcing Providers\",\n description: \"Research third-party providers that can take over operations currently managed with high-cost capital equipment.\"\n },\n {\n name: \"Outsourcing Workflow:\",\n workflow: [\n \"Identify non-core functions that are currently equipment-intensive and evaluate whether outsourcing is feasible.\",\n \"Research outsourcing providers and assess their costs versus the client’s current equipment expenses.\",\n \"Develop an outsourcing strategy to reduce capital equipment costs, if applicable.\",\n \"Present an outsourcing plan to the client, showing potential savings.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this structured workflow, you can guide your client in reducing their capital equipment costs, improving operational efficiency, and optimizing their financial performance. This process ensures that capital investments are streamlined, equipment is used effectively, and unnecessary costs are eliminated.\"\n },\n {\n id: 4,\n title: \"Decreasing A/R Days\",\n sections: [\n {\n title: \"Invoice Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Invoice Timing\",\n description: \"Assess how quickly invoices are being sent after services are rendered or goods are delivered. Delays in sending invoices extend the A/R cycle.\"\n },\n {\n name: \"Automate Invoicing\",\n description: \"Implement or upgrade invoicing software to automate the invoice generation process immediately upon service or product delivery. Set up recurring invoices for clients with regular services.\"\n },\n {\n name: \"Ensure Invoice Accuracy\",\n description: \"Confirm that all invoices are accurate, containing the correct amounts, terms, and customer information. Incorrect invoices can lead to delays or disputes.\"\n },\n {\n name: \"Invoice Management Workflow:\",\n workflow: [\n \"Review current invoice submission timeline and identify delays.\",\n \"Implement automation to send invoices promptly upon service completion or product delivery.\",\n \"Set up recurring invoices for regular clients to streamline the process.\",\n \"Ensure accuracy by reviewing invoice details before sending to avoid disputes.\",\n \"Present an improved invoicing process to the client to ensure timely billing.\"\n ]\n }\n ],\n },\n {\n title: \"Payment Terms Optimization\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Existing Payment Terms\",\n description: \"Review current payment terms and determine if they are too long compared to industry standards. For example, if terms are Net 60, consider shortening them to Net 30.\"\n },\n {\n name: \"Introduce Early Payment Discounts\",\n description: \"Offer incentives for clients to pay early by providing discounts for payments made within a certain period, such as 1-2% for payments made within 10-15 days.\"\n },\n {\n name: \"Enforce Penalties for Late Payments\",\n description: \"Add late payment penalties or interest fees to encourage timely payments. Ensure that these penalties are clearly communicated on the invoices.\"\n },\n {\n name: \"Payment Terms Workflow:\",\n workflow: [\n \"Analyze the client’s current payment terms and compare them with industry best practices.\",\n \"Shorten payment terms where possible (e.g., Net 30 instead of Net 60).\",\n \"Implement early payment discount programs to incentivize faster payments.\",\n \"Enforce penalties for late payments and clearly communicate these terms on invoices.\",\n \"Present recommended changes to payment terms and conditions to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Credit Policy Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Customer Creditworthiness\",\n description: \"Conduct regular credit checks on new and existing clients to ensure that credit is extended only to those with reliable payment histories.\"\n },\n {\n name: \"Adjust Credit Limits for High-Risk Clients\",\n description: \"Reduce credit limits for clients with a history of delayed payments or poor credit scores. Consider placing high-risk clients on prepayment or cash-on-delivery terms.\"\n },\n {\n name: \"Implement Credit Approval Processes\",\n description: \"Create a formalized credit approval process to ensure consistency in how credit is extended and that higher-risk clients are identified early.\"\n },\n {\n name: \"Credit Policy Management Workflow:\",\n workflow: [\n \"Conduct credit assessments for all clients, both new and existing, to evaluate risk.\",\n \"Adjust credit limits for clients with poor payment history or downgrade to prepayment terms.\",\n \"Implement a formal credit approval process to ensure consistent risk assessment.\",\n \"Regularly review the client’s credit policy to mitigate risks of late payments.\",\n \"Present updated credit management strategies to reduce A/R Days to the client.\",\n ]\n }\n ],\n },\n {\n title: \"Customer Communication and Relationship Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Regular Payment Reminders\",\n description: \"Set up automated reminder systems to notify clients of upcoming due dates. Send reminders a week before, on the due date, and a few days after if payment hasn’t been received.\"\n },\n {\n name: \"Establish a Customer Payment Portal\",\n description: \"If not already in place, implement a customer-facing portal where clients can easily access and pay their invoices online. Streamlining the payment process can reduce delays.\"\n },\n {\n name: \"Proactive Collection Calls\",\n description: \"Train staff to reach out to customers proactively if an invoice is approaching or has passed its due date. A courteous call can often accelerate the payment process.\"\n },\n {\n name: \"Customer Communication Workflow:\",\n workflow: [\n \"Set up automated email reminders for due dates and overdue payments.\",\n \"Implement an online customer payment portal for easy access to invoices and payments.\",\n \"Assign staff to follow up with proactive collection calls for overdue accounts.\",\n \"Foster strong customer relationships to ensure payment issues are addressed promptly.\",\n \"Present the client with a revised communication strategy to improve customer payment habits.\"\n ]\n }\n ],\n },\n {\n title: \"Dispute Resolution and Escalation Procedures\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Implement a Dispute Resolution Process\",\n description: \"Establish a formal process for handling billing disputes, ensuring that they are resolved quickly. The longer disputes remain unresolved, the longer A/R Days will extend.\"\n },\n {\n name: \"Track and Analyze Disputes\",\n description: \"Keep a log of recurring disputes to identify common causes (e.g., pricing discrepancies or product/service quality issues). Address the root causes to prevent future disputes.\"\n },\n {\n name: \"Escalation Process for Unresolved Invoices\",\n description: \"Develop an escalation process for invoices that remain unpaid after initial follow-up, such as sending the matter to a collections department or involving legal action.\"\n },\n {\n name: \"Dispute Resolution Workflow:\",\n workflow: [\n \"Create a formal process for resolving billing disputes quickly.\",\n \"Track the nature and frequency of disputes to identify patterns.\",\n \"Address underlying issues that cause disputes, such as pricing or service quality.\",\n \"Implement an escalation process for unpaid invoices (e.g., collections or legal action).\",\n \"Present an improved dispute resolution strategy to the client to minimize delays in payments.\",\n ]\n }\n ],\n },\n {\n title: \"Cash Application and Reconciliation Process\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Automate Cash Application\",\n description: \"Implement or upgrade software to automate the matching of payments to outstanding invoices. This reduces manual errors and speeds up cash reconciliation.\"\n },\n {\n name: \"Reconcile Payments Daily\",\n description: \"Reconcile incoming payments daily to ensure that outstanding balances are updated promptly. This also helps to identify discrepancies or shortfalls early on.\"\n },\n {\n name: \"Cash Application Workflow:\",\n workflow: [\n \"Automate the matching of payments to invoices through accounting software.\",\n \"Perform daily reconciliation of cash receipts to ensure accounts are up-to-date.\",\n \"Investigate and resolve any payment discrepancies (e.g., partial payments or misapplied cash).\",\n \"Present a streamlined cash application process to the client for timely reconciliation.\",\n ]\n }\n ],\n },\n {\n title: \"Monitor A/R Metrics\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Establish Key A/R Metrics\",\n description: \"Set key performance indicators (KPIs) such as Days Sales Outstanding (DSO), collection effectiveness index, and bad debt ratio. Monitor these metrics regularly to ensure that the A/R days trend in the right direction.\"\n },\n {\n name: \"Conduct Regular A/R Reviews\",\n description: \"Perform monthly or quarterly reviews of the A/R process, identifying clients with persistently high A/R Days or trends in late payments.\"\n },\n {\n name: \"Use A/R Metrics to Set Goals\",\n description: \"Establish targets for reducing A/R Days and review progress over time. Share these goals with the client and make adjustments based on the data.\"\n },\n {\n name: \"A/R Metrics Monitoring Workflow:\",\n workflow: [\n \"Establish and monitor key A/R metrics such as DSO and collection effectiveness.\",\n \"Conduct monthly or quarterly A/R reviews to identify trends.\",\n \"Set specific targets for reducing A/R Days and regularly review progress.\",\n \"Present findings and action plans to the client based on metric analysis.\"\n ]\n }\n ],\n },\n {\n title: \"Collection Agency Engagement (Last Resort)\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Uncollectible Receivables\",\n description: \"Identify receivables that have been outstanding for a significant amount of time and have not responded to internal efforts. Consider these for collection agency referral.\"\n },\n {\n name: \"Select a Collection Agency\",\n description: \"Choose a reputable collection agency and establish a clear understanding of the process, fees, and potential impact on client relationships.\"\n },\n {\n name: \"Collection Agency Workflow:\",\n workflow: [\n \"Identify invoices that are long overdue and not responding to internal collection efforts.\",\n \"Engage a collection agency to recover payments as a last resort.\",\n \"Monitor the agency’s progress and track recovered amounts.\",\n \"Present the client with options for handling severely overdue accounts.\",\n ]\n }\n ],\n },\n {\n title: \"Continuous Improvement and Training\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Ongoing Staff Training\",\n description: \"Provide regular training to staff responsible for invoicing and collections. Ensure they are well-versed in communication, dispute resolution, and A/R management tools.\"\n },\n {\n name: \"Optimize Processes Regularly\",\n description: \"Regularly evaluate the A/R process for bottlenecks or inefficiencies and make improvements to ensure that A/R Days are consistently reduced.\"\n },\n {\n name: \"Continuous Improvement Workflow:\",\n workflow: [\n \"Provide ongoing training for staff in A/R management and communication.\",\n \"Review and optimize A/R processes regularly to eliminate inefficiencies.\",\n \"Implement new technologies or strategies as needed to streamline collections.\",\n \"Present continuous improvement strategies to the client to ensure sustainable results.\"\n ]\n }\n ],\n },\n ],\n summary: \"\"\n },\n {\n id: 5,\n title: \"Improve Gross Margin\",\n sections: [\n {\n title: \"Cost of Goods Sold (COGS) Analysis\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Direct Material Costs\",\n description: \"Assess the cost of raw materials and other direct inputs. Compare your client’s costs to industry peers and explore ways to reduce material costs.\"\n },\n {\n name: \"Review Direct Labor Costs\",\n description: \"Evaluate direct labor efficiency, including wages, overtime, and productivity. Determine whether labor costs are higher than industry benchmarks and if production processes can be streamlined.\"\n },\n {\n name: \"Review Manufacturing Overhead\",\n description: \"Analyze overhead costs directly related to production, such as utilities, equipment maintenance, and facility costs. Identify any excessive or unnecessary expenses that can be reduced.\"\n },\n {\n name: \"Recommendation: Optimize Production and Sourcing to Reduce COGS\",\n description: \"Explore options such as negotiating better supplier terms, switching to lower-cost suppliers, optimizing labor efficiency, or improving production processes to reduce costs.\"\n },\n {\n name: \"COGS Analysis Workflow:\",\n workflow: [\n \"Break down COGS into direct materials, labor, and overhead.\",\n \"Compare material and labor costs with industry standards.\",\n \"Identify opportunities to reduce material costs (e.g., renegotiating with suppliers, bulk purchasing).\",\n \"Assess labor efficiency and recommend process improvements to reduce labor hours per unit.\",\n \"Review overhead costs and recommend reducing waste or unnecessary spending.\",\n \"Present findings and a plan to reduce COGS to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Pricing Strategy Review\",\n displayTasks: true,\n objective: \"Ensure that the client’s pricing model is optimized to maximize revenue without sacrificing competitiveness.\",\n tasks: [\n {\n name: \"Evaluate Current Pricing Models\",\n description: \"Review the client’s current pricing strategy (cost-plus, value-based, competitive pricing) and assess whether prices are aligned with the value delivered and industry standards.\"\n },\n {\n name: \"Assess Pricing Relative to Competitors\",\n description: \"Compare your client’s pricing with competitors in the industry. Ensure they are competitive without undervaluing their offerings.\"\n },\n {\n name: \"Recommendation: Adjust Pricing Strategy to Improve Gross Margin\",\n description: \"Propose pricing adjustments where necessary. This could involve increasing prices for premium products, implementing value-based pricing, or offering tiered pricing models.\"\n },\n {\n name: \"Pricing Strategy Workflow:\",\n workflow: [\n \"Review current pricing methods (cost-plus, value-based, etc.).\",\n \"Compare the client’s prices to competitors and industry standards.\",\n \"Determine if there is room for price increases or adjustments.\",\n \"Explore the potential for bundling products or introducing premium offerings.\",\n \"Develop a pricing strategy that balances competitiveness with margin improvement.\",\n \"Present the pricing strategy to the client, including impact analysis on gross margin.\"\n ]\n }\n ],\n },\n {\n title: \"Product Mix Optimization\",\n displayTasks: true,\n objective: \"Shift focus toward high-margin products or services to improve overall gross margin.\",\n tasks: [\n {\n name: \"Analyze Product/Service Profitability\",\n description: \"Break down gross margin by product or service line. Identify which offerings are most and least profitable.\"\n },\n {\n name: \"Review Sales and Marketing Focus\",\n description: \"Assess whether the client’s sales and marketing efforts are disproportionately focused on low-margin products. Identify opportunities to promote higher-margin offerings.\"\n },\n {\n name: \"Recommendation: Adjust Product Mix to Prioritize High-Margin Items\",\n description: \"Shift marketing, sales, and production focus towards higher-margin products or services. Reduce or eliminate low-margin items where possible.\"\n },\n {\n name: \"Product Mix Optimization Workflow:\",\n workflow: [\n \"Analyze gross margin by product/service line.\",\n \"Identify low-margin products/services and determine if they can be improved or phased out.\",\n \"Shift resources to promote and sell high-margin offerings.\",\n \"Develop a sales and marketing plan to focus on high-margin products.\",\n \"Monitor the product mix to ensure the focus remains on profitable items.\",\n \"Present product mix recommendations to the client, including forecasted gross margin impact.\"\n ]\n }\n ],\n },\n {\n title: \"Operational Efficiency & Waste Reduction\",\n displayTasks: true,\n objective: \"Streamline production and reduce waste to lower COGS and improve gross margin.\",\n tasks: [\n {\n name: \"Identify Inefficiencies in the Production Process\",\n description: \"Review the entire production workflow, from raw material procurement to product delivery. Identify bottlenecks, delays, or areas where resources are underutilized.\"\n },\n {\n name: \"Reduce Waste in Materials and Labor\",\n description: \"Look for areas of excess waste in raw materials or labor. Explore whether lean manufacturing principles can be applied to reduce waste.\"\n },\n {\n name: \"Recommendation: Implement Operational Efficiency Improvements\",\n description: \"Propose changes such as automating processes, reducing rework, or improving supply chain management to reduce costs and improve gross margin.\"\n },\n {\n name: \"Operational Efficiency Workflow:\",\n workflow: [\n \"Map out the current production process and identify inefficiencies.\",\n \"Evaluate waste in materials, labor, and time.\",\n \"Recommend process improvements, such as automation or more efficient inventory management.\",\n \"Explore lean manufacturing or Six Sigma techniques to reduce waste.\",\n \"Implement process changes and measure their impact on production costs.\",\n \"Present an operational efficiency plan to the client, outlining cost savings and margin improvements.\"\n ]\n }\n ],\n },\n {\n title: \"Supplier Relationship Management\",\n displayTasks: true,\n objective: \"Improve supplier terms to reduce material costs and enhance gross margin.\",\n tasks: [\n {\n name: \"Evaluate Current Supplier Terms\",\n description: \"Review current supplier contracts, payment terms, and discounts. Determine if there is room for improvement in terms of price reductions, extended payment periods, or bulk purchasing discounts.\"\n },\n {\n name: \"Explore Alternative Suppliers\",\n description: \"Benchmark current supplier costs against other potential suppliers. Identify opportunities for switching to more cost-effective suppliers without sacrificing quality.\"\n },\n {\n name: \"Recommendation: Negotiate Better Terms or Switch Suppliers\",\n description: \"Negotiate more favorable terms with current suppliers or switch to new suppliers to reduce material costs.\"\n },\n {\n name: \"Supplier Management Workflow:\",\n workflow: [\n \"Review existing supplier contracts and pricing.\",\n \"Benchmark supplier costs against competitors.\",\n \"Identify areas for negotiation, such as bulk discounts, longer payment terms, or lower prices.\",\n \"Approach suppliers with negotiation strategies, presenting volume increases or loyalty in exchange for better terms.\",\n \"If negotiations fail, recommend switching to alternative suppliers.\",\n \"Present supplier recommendations to the client, outlining the impact on material costs and gross margin.\"\n ]\n }\n ],\n },\n {\n title: \"Inventory Management & Cost Control\",\n displayTasks: true,\n objective: \"Improve inventory management to reduce holding costs and avoid excess or obsolete inventory.\",\n tasks: [\n {\n name: \"Review Inventory Turnover Ratios\",\n description: \"Analyze inventory turnover rates to ensure the client is not overstocking. High inventory levels can lead to increased carrying costs and reduced cash flow.\"\n },\n {\n name: \"Implement Just-in-Time (JIT) or Inventory Optimization Practices\",\n description: \"Explore inventory optimization techniques, such as just-in-time (JIT) inventory, to reduce excess stock and lower carrying costs.\"\n },\n {\n name: \"Recommendation: Optimize Inventory Levels to Reduce Costs\",\n description: \"Implement improved inventory management systems that balance stock availability with cost control to improve gross margin.\"\n },\n {\n name: \"Inventory Management Workflow:\",\n workflow: [\n \"Analyze inventory turnover ratios and carrying costs.\",\n \"Identify slow-moving or obsolete inventory that can be liquidated.\",\n \"Implement just-in-time (JIT) or other inventory optimization practices.\",\n \"Monitor inventory levels to avoid overstocking and excess holding costs.\",\n \"Present inventory management recommendations to the client, highlighting cost savings and gross margin improvements.\"\n ]\n }\n ],\n },\n {\n title: \"Outsourcing and Cost Sharing Opportunities\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Outsourcing Opportunities\",\n description: \"Assess whether certain non-core functions or production elements can be outsourced to lower-cost providers.\"\n },\n {\n name: \"Explore Strategic Partnerships or Cost-Sharing\",\n description: \"Identify opportunities for partnerships with other businesses to share costs, such as joint warehousing, shipping, or procurement.\"\n },\n {\n name: \"Recommendation: Outsource Non-Core Functions to Reduce Costs\",\n description: \"Propose outsourcing for functions like IT, HR, or parts of production that could be performed more cost-effectively by third-party providers.\"\n },\n {\n name: \"Outsourcing Workflow:\",\n workflow: [\n \"Identify non-core functions or production steps that can be outsourced.\",\n \"Evaluate potential outsourcing partners and their cost structures.\",\n \"Analyze the impact of outsourcing on cost savings and production efficiency.\",\n \"Explore partnerships or cost-sharing agreements with complementary businesses.\"\n ]\n }\n ],\n },\n ],\n summary: \"\"\n },\n {\n id: 6,\n title: \"Increase Capital Equipment\",\n sections: [\n {\n title: \"Capital Equipment Needs Assessment\",\n displayTasks: true,\n objective: \"Evaluate current capital equipment utilization and determine if the existing equipment can support future business growth.\",\n tasks: [\n {\n name: \"Review Current Equipment Usage\",\n description: \"Assess the current state of capital equipment in terms of usage, efficiency, and depreciation. Is the existing equipment nearing the end of its useful life or becoming obsolete compared to industry standards?\"\n },\n {\n name: \"Identify Equipment Gaps\",\n description: \"Based on the client’s growth projections, industry benchmarks, and production capacity, determine if current equipment can meet demand. Identify gaps in machinery, technology, or tools needed to support growth.\"\n },\n {\n name: \"Needs Assessment Workflow:\",\n workflow: [\n \"Conduct a full audit of current equipment, including utilization rates, maintenance needs, and age.\",\n \"Compare existing equipment capacity with growth projections and industry requirements.\",\n \"Identify equipment gaps that could hinder operational efficiency or growth.\",\n \"Present the equipment needs analysis to the client, showing areas where investment is needed.\"\n ]\n }\n ],\n },\n {\n title: \"Capital Budgeting and Financial Planning\",\n displayTasks: true,\n objective: \"Create a capital budget and financing plan for acquiring new equipment, balancing costs with cash flow and ROI.\",\n tasks: [\n {\n name: \"Develop a Capital Budget\",\n description: \"Create a detailed capital budget for purchasing new equipment, including estimated costs for machinery, technology upgrades, installation, and maintenance.\"\n },\n {\n name: \"Assess Financing Options\",\n description: \"Explore different financing options for acquiring equipment. This may include leasing, purchasing with debt financing, or leveraging internal cash reserves.\"\n },\n {\n name: \"Estimate ROI on Equipment Investments\",\n description: \"Calculate the expected return on investment (ROI) for each piece of equipment. Consider factors like increased production capacity, reduced downtime, and long-term savings on repairs or labor.\"\n },\n {\n name: \"Budgeting and Financing Workflow:\",\n workflow: [\n \"Create a capital equipment budget detailing estimated costs.\",\n \"Evaluate financing options such as leasing, loans, or cash purchases.\",\n \"Calculate the ROI for each capital investment to determine its value to the business.\",\n \"Present a financial plan for capital equipment acquisition to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Vendor and Supplier Evaluation\",\n displayTasks: true,\n objective: \"Select the right vendors for purchasing or leasing capital equipment, focusing on price, reliability, and service quality.\",\n tasks: [\n {\n name: \"Research Equipment Vendors\",\n description: \"Identify potential vendors who offer the required equipment. Compare them based on price, reputation, service contracts, and lead times.\"\n },\n {\n name: \"Negotiate Pricing and Service Contracts\",\n description: \"Negotiate favorable terms with vendors for pricing, warranties, and service contracts. Consider long-term partnerships with vendors that provide regular maintenance or upgrade services.\"\n },\n {\n name: \"Vendor Evaluation Workflow:\",\n workflow: [\n \"Research and shortlist equipment vendors offering the needed machinery.\",\n \"Compare prices, lead times, and service agreements among vendors.\",\n \"Negotiate favorable purchase or lease terms, including warranties and service plans.\",\n \"Present vendor recommendations and negotiated terms to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Equipment Lifecycle and Maintenance Planning\",\n displayTasks: true,\n objective: \"Plan for the lifecycle and maintenance of the capital equipment to ensure longevity and operational efficiency.\",\n tasks: [\n {\n name: \"Implement Preventative Maintenance Programs\",\n description: \"Create a maintenance schedule that includes regular servicing, repairs, and part replacements to extend the life of the equipment.\"\n },\n {\n name: \"Evaluate Equipment Lifecycle\",\n description: \"Assess the expected lifecycle of new and existing equipment, planning for future upgrades or replacements based on usage, technological advancements, and depreciation.\"\n },\n {\n name: \"Maintenance Workflow:\",\n workflow: [\n \"Establish a preventative maintenance schedule for new and existing equipment.\",\n \"Plan for long-term equipment replacements based on their useful life and depreciation.\",\n \"Monitor equipment performance regularly and make adjustments to the maintenance schedule as needed.\",\n \"Present a lifecycle and maintenance plan to the client to minimize downtime and ensure equipment longevity.\"\n ]\n }\n ],\n },\n {\n title: \"Capacity and Production Efficiency Analysis\",\n displayTasks: true,\n objective: \"Evaluate how new capital equipment will impact production capacity and overall efficiency, ensuring that investments are justified by operational improvements.\",\n tasks: [\n {\n name: \"Analyze Current Production Bottlenecks\",\n description: \"Identify areas where current production is slowed or limited by outdated equipment. Determine if investing in new equipment will alleviate these bottlenecks.\"\n },\n {\n name: \"Increase Automation and Efficiency\",\n description: \"Consider automation tools and technologies that can replace manual processes, reducing labor costs and increasing production speed.\"\n },\n {\n name: \"Efficiency Workflow:\",\n workflow: [\n \"Identify bottlenecks in current production processes caused by inadequate equipment.\",\n \"Evaluate how new equipment can enhance efficiency, reduce downtime, or increase output.\",\n \"Propose automation solutions where applicable to streamline operations.\",\n \"Present an efficiency improvement plan tied to capital equipment investments.\"\n ]\n }\n ],\n },\n {\n title: \"Aligning Capital Equipment with Business Strategy\",\n displayTasks: true,\n objective: \"Ensure that capital equipment investments are aligned with the client’s overall business strategy and future growth plans.\",\n tasks: [\n {\n name: \"Review Strategic Business Goals\",\n description: \"Align equipment purchases with the client’s broader business goals. Are they planning to expand operations, enter new markets, or enhance product quality? Capital investments should support these initiatives.\"\n },\n {\n name: \"Scalability and Flexibility\",\n description: \"Choose equipment that can grow with the business or be adapted for different products or services. This will prevent the need for frequent upgrades and keep costs down in the long run.\"\n },\n {\n name: \"Business Strategy Workflow:\",\n workflow: [\n \"Review the client’s long-term business strategy and growth objectives.\",\n \"Ensure that capital equipment investments align with future goals, such as capacity expansion or new market entry.\",\n \"Prioritize equipment purchases that offer scalability and flexibility for evolving business needs.\",\n \"Present a strategic plan for capital investments to the client, showing alignment with business growth.\",\n ]\n }\n ],\n },\n {\n title: \"Tax Planning and Depreciation Strategy\",\n displayTasks: true,\n objective: \"Leverage tax benefits related to capital equipment purchases and develop a depreciation strategy that maximizes financial advantages.\",\n tasks: [\n {\n name: \"Utilize Tax Deductions and Credits\",\n description: \"Identify any tax credits, deductions, or incentives available for purchasing capital equipment, such as Section 179 deductions or bonus depreciation.\"\n },\n {\n name: \"Create a Depreciation Schedule\",\n description: \"Develop a depreciation strategy that optimizes cash flow and minimizes taxable income. Use methods like straight-line depreciation or accelerated depreciation, depending on the client’s needs.\"\n },\n {\n name: \"Tax and Depreciation Workflow:\",\n workflow: [\n \"Research available tax deductions and credits for capital equipment purchases.\",\n \"Develop a depreciation schedule that aligns with the client’s financial strategy (straight-line, accelerated, etc.).\",\n \"Monitor changes in tax laws that could impact capital equipment-related deductions.\",\n \"Present a tax and depreciation strategy to the client to maximize financial benefits.\"\n ]\n }\n ],\n },\n {\n title: \"Risk Management and Contingency Planning\",\n displayTasks: true,\n objective: \"Mitigate risks associated with capital equipment investments by implementing contingency plans and risk management strategies.\",\n tasks: [\n {\n name: \"Analyze Equipment-Related Risks\",\n description: \"Identify potential risks related to capital equipment, such as supply chain disruptions, equipment breakdowns, or changing technology trends.\"\n },\n {\n name: \"Create a Contingency Plan\",\n description: \"Develop a contingency plan that includes backup suppliers, insurance policies, and emergency repairs to minimize downtime or financial losses.\"\n },\n {\n name: \"Risk Management Workflow:\",\n workflow: [\n \"Analyze risks related to capital equipment acquisition, including supplier reliability, technological obsolescence, and repair costs.\",\n \"Implement insurance and contingency plans to cover equipment failures or delays.\",\n \"Set up monitoring systems to regularly assess risks and adjust plans accordingly.\",\n \"Present a risk management strategy to the client to ensure operational resilience.\"\n ]\n }\n ],\n },\n {\n title: \"Post-Investment Monitoring and Reporting\",\n displayTasks: true,\n objective: \"Track the performance of capital equipment investments and ensure they meet the client’s operational and financial goals.\",\n tasks: [\n {\n name: \"Establish Performance Metrics\",\n description: \"Set key performance indicators (KPIs) to monitor the effectiveness of capital equipment, such as increased production capacity, reduced downtime, or cost savings.\"\n },\n {\n name: \"Regular Equipment Audits\",\n description: \"Conduct regular audits to assess the condition and performance of the capital equipment, ensuring it is providing the expected ROI.\"\n },\n {\n name: \"Monitoring Workflow:\",\n workflow: [\n \"Establish KPIs to track the performance of new equipment (e.g., production output, efficiency gains).\",\n \"Schedule regular audits of the equipment’s condition and performance.\",\n \"Adjust operational or financial strategies based on equipment performance data.\",\n \"Present performance reports to the client to ensure capital equipment investments are delivering value.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this structured workflow, you can guide your client in making informed decisions on capital equipment investments, ensuring alignment with their business growth and operational efficiency goals.\"\n },\n {\n id: 7,\n title: \"Increase Inventory Turns (Decrease Inventory)\",\n sections: [\n {\n title: \"Inventory Management and Stock Control\",\n displayTasks: true,\n objective: \"Ensure that inventory levels are optimized to avoid overstocking or understocking, which can impact Inventory Turns.\",\n tasks: [\n {\n name: \"Review Current Inventory Levels\",\n description: \"Analyze the current inventory levels compared to sales patterns and the industry standard. Identify if excess stock is being held, leading to lower inventory turnover.\"\n },\n {\n name: \"Implement Just-in-Time (JIT) Inventory\",\n description: \"Adopt a JIT inventory system to order inventory only when needed, reducing holding costs and improving turns by avoiding excess stock.\"\n },\n {\n name: \"Categorize Inventory Using ABC Analysis\",\n description: \"Segment inventory based on value and turnover rate (A-items: high value, low quantity; B-items: moderate value; C-items: low value, high quantity). Focus on high-value items that turn over slower and ensure tighter controls on them.\"\n },\n {\n name: \"Inventory Management Workflow:\",\n workflow: [\n \"Review inventory levels against sales trends to identify overstocked or understocked items.\",\n \"Implement a JIT system to align purchases with demand, reducing excess inventory.\",\n \"Conduct an ABC analysis to categorize items by value and importance.\",\n \"Set tighter controls and monitoring on A-items to avoid unnecessary overstock.\",\n \"Present an improved inventory management strategy to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Demand Forecasting\",\n displayTasks: true,\n objective: \"Improve the accuracy of demand forecasts to ensure inventory is aligned with sales expectations.\",\n tasks: [\n {\n name: \"Review Forecasting Methods\",\n description: \"Evaluate the current demand forecasting methods. Is it based on historical data, trends, or seasonality? Inaccurate forecasts lead to misaligned inventory levels.\"\n },\n {\n name: \"Enhance Forecasting Tools\",\n description: \"Implement more advanced forecasting tools that incorporate real-time data from sales, market trends, and external factors (e.g., seasonality, economic conditions).\"\n },\n {\n name: \"Collaborate with Sales & Marketing Teams\",\n description: \"Work with the sales and marketing departments to gain insights into upcoming promotions, new product launches, or market shifts that may impact demand.\"\n },\n {\n name: \"Demand Forecasting Workflow:\",\n workflow: [\n \"Evaluate the current demand forecasting techniques and identify gaps.\",\n \"Implement tools that use real-time data to improve forecast accuracy.\",\n \"Collaborate with sales and marketing to factor in promotions or seasonal demand.\",\n \"Set up regular reviews of forecasting accuracy to make adjustments.\",\n \"Present a more accurate forecasting plan to the client.\",\n ]\n }\n ],\n },\n {\n title: \"Procurement and Supplier Management\",\n displayTasks: true,\n objective: \"Streamline procurement practices to ensure efficient inventory replenishment and avoid stockouts or overstocking.\",\n tasks: [\n {\n name: \"Review Supplier Lead Times\",\n description: \"Examine the current lead times from suppliers. Long lead times can cause stockouts or require maintaining higher stock levels, leading to slower Inventory Turns.\"\n },\n {\n name: \"Negotiate with Suppliers\",\n description: \"Work with suppliers to shorten lead times, negotiate better terms, or create more flexible ordering processes that allow for smaller but more frequent orders.\"\n },\n {\n name: \"Diversify Supplier Base\",\n description: \"If certain suppliers have unpredictable lead times, consider diversifying the supplier base to reduce the risk of stockouts and allow for more flexible inventory replenishment.\"\n },\n {\n name: \"Procurement Workflow:\",\n workflow: [\n \"Review supplier lead times and their impact on inventory levels.\",\n \"Negotiate with suppliers for shorter lead times or more flexible ordering terms.\",\n \"Diversify suppliers to mitigate risks and improve the consistency of inventory replenishment.\",\n \"Set up regular reviews of supplier performance.\",\n \"Present a procurement improvement plan to the client to reduce inventory carrying costs.\"\n ]\n }\n ],\n },\n {\n title: \"Sales and Marketing Alignment\",\n displayTasks: true,\n objective: \"Align sales and marketing efforts with inventory management to optimize turns based on real-time demand.\",\n tasks: [\n {\n name: \"Assess Sales Patterns\",\n description: \"Analyze sales data to identify patterns, slow-moving items, and best-sellers. This can inform adjustments in inventory levels to improve turns.\"\n },\n {\n name: \"Increase Sales for Slow-Moving Inventory\",\n description: \"Work with the marketing team to create promotions or discounts for slow-moving inventory. Clearing out old stock will help improve turnover rates.\"\n },\n {\n name: \"Create Incentives for Best-Selling Products\",\n description: \"Encourage the sales team to focus on promoting high-turnover items by offering sales incentives, bundles, or upsell opportunities to drive faster inventory movement.\"\n },\n {\n name: \"Sales and Marketing Workflow:\",\n workflow: [\n \"Review sales data to identify slow-moving and fast-moving products.\",\n \"Implement promotions or discounts for slow-moving stock to clear excess.\",\n \"Offer incentives for sales teams to push high-turnover products.\",\n \"Align marketing campaigns with inventory levels to prevent overstocking.\",\n \"Present a sales alignment strategy to the client to increase inventory movement.\"\n ]\n }\n ],\n },\n {\n title: \"Production Planning (For Manufacturers)\",\n displayTasks: true,\n objective: \"Optimize production schedules to align with demand and inventory needs, ensuring efficient inventory turnover.\",\n tasks: [\n {\n name: \"Evaluate Production Cycles\",\n description: \"Review current production cycles to identify if the client is overproducing certain items. This can lead to excess inventory and lower turnover rates.\"\n },\n {\n name: \"Implement Lean Manufacturing\",\n description: \"Adopt lean manufacturing principles to produce goods based on actual demand rather than forecasts. This reduces excess inventory and helps improve turns.\"\n },\n {\n name: \"Balance Production and Sales\",\n description: \"Work closely with the production and sales teams to ensure that production schedules are aligned with real-time sales data, avoiding overproduction.\"\n },\n {\n name: \"Production Planning Workflow:\",\n workflow: [\n \"Evaluate production schedules to ensure alignment with demand and sales trends.\",\n \"Implement lean manufacturing practices to reduce overproduction.\",\n \"Set up cross-functional meetings between production, sales, and inventory teams to ensure alignment.\",\n \"Present a production planning optimization plan to the client to avoid bottlenecks and inventory pile-ups.\"\n ]\n }\n ],\n },\n {\n title: \"Inventory Aging and Obsolete Stock Management\",\n displayTasks: true,\n objective: \"Remove aging or obsolete stock from inventory to improve turnover rates and free up working capital.\",\n tasks: [\n {\n name: \"Identify Aging Inventory\",\n description: \"Review the inventory aging report to identify items that have been in stock for too long. These items are tying up capital and reducing overall Inventory Turns.\"\n },\n {\n name: \"Liquidate Obsolete Inventory\",\n description: \"Develop a strategy to liquidate old or obsolete stock. This could include discounting items, bundling them with faster-moving products, or selling them through secondary channels.\"\n },\n {\n name: \"Prevent Future Obsolescence\",\n description: \"Adjust inventory policies and procurement processes to minimize the future accumulation of obsolete inventory. Implement “first-in, first-out” (FIFO) policies to ensure older stock moves out first.\"\n },\n {\n name: \"Obsolete Stock Workflow:\",\n workflow: [\n \"Review the inventory aging report to identify items that are not moving.\",\n \"Develop a liquidation strategy, including discounts or promotions for slow-moving inventory.\",\n \"Implement FIFO policies to avoid stock obsolescence in the future.\",\n \"Present a plan to the client to eliminate obsolete stock and prevent future accumulation.\"\n ]\n }\n ],\n },\n {\n title: \"Inventory Visibility and Tracking\",\n displayTasks: true,\n objective: \"Ensure accurate real-time tracking of inventory to improve management and avoid unnecessary stock accumulation.\",\n tasks: [\n {\n name: \"Implement Inventory Management Software\",\n description: \"If not already in place, recommend an inventory management system (IMS) that provides real-time visibility into stock levels, sales trends, and reordering points.\"\n },\n {\n name: \"Use Barcoding or RFID\",\n description: \"Implement barcoding or RFID technology to improve tracking and accuracy of inventory. This can help identify slow-moving items and improve overall inventory management.\"\n },\n {\n name: \"Inventory Reorder Alerts\",\n description: \"Set up automated alerts in the IMS to notify when stock levels are low or approaching critical reorder points, ensuring timely restocking without over-ordering.\"\n },\n {\n name: \"Inventory Visibility Workflow:\",\n workflow: [\n \"Implement or upgrade inventory management software for real-time visibility.\",\n \"Introduce barcoding or RFID technology for accurate tracking.\",\n \"Set up automated reorder alerts to avoid stockouts and excess inventory.\",\n \"Present a plan to the client for improved inventory visibility and tracking.\"\n ]\n }\n ],\n },\n {\n title: \"Continuous Monitoring and KPIs\",\n displayTasks: true,\n objective: \"Track inventory performance metrics regularly to ensure continuous improvement in Inventory Turns.\",\n tasks: [\n {\n name: \"Establish Key Metrics for Inventory Management\",\n description: \"Set key performance indicators (KPIs) such as Inventory Turnover Ratio, Days Inventory Outstanding (DIO), and Gross Margin Return on Inventory (GMROI).\"\n },\n {\n name: \"Conduct Regular Reviews\",\n description: \"Perform regular (monthly or quarterly) inventory performance reviews. Monitor KPIs and compare them with industry benchmarks to assess progress.\"\n },\n {\n name: \"Adjust Strategies Based on Data\",\n description: \"Use data insights from inventory reviews to adjust procurement, production, or sales strategies. If certain items are underperforming, modify purchasing or production decisions.\"\n },\n {\n name: \"Monitoring Workflow:\",\n workflow: [\n \"Establish KPIs to measure Inventory Turns, DIO, and GMROI.\",\n \"Conduct regular reviews to monitor inventory performance.\",\n \"Adjust procurement, production, or sales strategies based on KPI data.\",\n \"Present ongoing performance reports to the client, recommending any necessary adjustments.\"\n ]\n }\n ],\n },\n {\n title: \"Optimize Pricing and Product Mix\",\n displayTasks: true,\n objective: \"Adjust pricing strategies and product mix to encourage faster inventory movement.\",\n tasks: [\n {\n name: \"Review Product Pricing Strategy\",\n description: \"Assess whether pricing strategies are aligned with market demand. Overpricing can lead to slower sales and lower inventory turnover.\"\n },\n {\n name: \"Analyze Product Mix\",\n description: \"Review the client’s product mix to ensure that it aligns with current market trends and customer preferences. Consider phasing out underperforming products.\"\n },\n {\n name: \"Introduce Dynamic Pricing\",\n description: \"Implement dynamic pricing strategies to adjust prices based on real-time demand. This can help accelerate sales and improve Inventory Turns.\"\n },\n {\n name: \"Pricing and Product Mix Workflow:\",\n workflow: [\n \"Assess the client’s current pricing strategy for alignment with market demand.\",\n \"Analyze the product mix and adjust based on market preferences.\",\n \"Implement dynamic pricing strategies to drive faster inventory movement.\",\n \"Present a revised pricing and product mix strategy to the client.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this workflow, you can systematically address each area impacting Inventory Turns, helping your client improve efficiency, reduce carrying costs, and boost profitability.\"\n },\n {\n id: 8,\n title: \"Interest Expense Reduction\",\n sections: [\n {\n title: \"Debt Structure Analysis\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Existing Debt Instruments\",\n description: \"Identify all current loans and credit facilities, including terms, interest rates, and maturity dates. Focus on loans with the highest interest rates and those nearing maturity.\"\n },\n {\n name: \"Debt Mix Evaluation\",\n description: \"Evaluate the ratio of fixed-rate vs. variable-rate debt. Determine whether the client has an optimal mix or if they are overexposed to high-cost, variable-rate loans.\"\n },\n {\n name: \"Recommendation: Refinance or Restructure High-Cost Debt\",\n description: \"Propose refinancing or restructuring opportunities to lower interest rates or extend maturity for improved cash flow.\"\n },\n {\n name: \"Debt Structure Workflow:\",\n workflow: [\n \"List all current debt and associated interest rates.\",\n \"Analyze the proportion of fixed vs. variable rate debt.\",\n \"Identify high-interest-rate debt that can be refinanced.\",\n \"Explore opportunities for restructuring debt to more favorable terms.\",\n \"Present refinancing proposals to the client, including cost-benefit analysis.\"\n ]\n }\n ],\n },\n {\n title: \"Interest Rate Comparison & Market Review\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Compare Current Rates with Market Rates\",\n description: \"Benchmark the client’s existing interest rates against current market conditions and industry peers. Identify if they are paying above-market rates on any debts.\"\n },\n {\n name: \"Review Alternative Lenders\",\n description: \"Evaluate whether alternative lenders (e.g., credit unions, smaller banks, or private lenders) could offer more competitive interest rates than the client’s current financial institutions.\"\n },\n {\n name: \"Recommendation: Negotiate Lower Rates or Switch Lenders\",\n description: \"If current rates are above market, negotiate lower rates with the current lender or switch to a more favorable lender.\"\n },\n {\n name: \"Market Comparison Workflow:\",\n workflow: [\n \"Benchmark interest rates with industry peers and market averages.\",\n \"Identify lenders offering more competitive rates.\",\n \"Prepare negotiation strategies with current lenders to lower interest rates.\",\n \"If negotiations fail, recommend switching to alternative lenders with better terms.\",\n \"Present options to the client with potential savings calculations.\"\n ]\n }\n ],\n },\n {\n title: \"Creditworthiness and Risk Profile Improvement\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Analyze Credit Score and Risk Profile\",\n description: \"Review the client’s business credit score, financial ratios (debt-to-equity, current ratio, etc.), and risk profile. Identify factors that may be driving up interest rates.\"\n },\n {\n name: \"Reduce Debt Levels or Improve Liquidity\",\n description: \"Work with the client to reduce their debt load (if necessary) or improve liquidity ratios to present a stronger financial position to lenders.\"\n },\n {\n name: \"Recommendation: Strengthen Creditworthiness to Qualify for Lower Rates\",\n description: \"Improve the client’s financial health by enhancing creditworthiness, making them more attractive to lenders and qualifying for lower interest rates.\"\n },\n {\n name: \"Creditworthiness Improvement Workflow:\",\n workflow: [\n \"Review and analyze the client’s credit score and financial ratios.\",\n \"Develop a plan to reduce overall debt levels or improve liquidity.\",\n \"Guide the client on improving financial health, including paying down short-term debt.\",\n \"Revisit credit profiles after improvement, then approach lenders with evidence of stronger creditworthiness.\",\n \"Present refinancing opportunities based on improved credit scores.\"\n ]\n }\n ],\n },\n {\n title: \"Interest Rate Hedging\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Assess Interest Rate Risk\",\n description: \"Review the client’s exposure to interest rate fluctuations, especially if they hold a significant amount of variable-rate debt.\"\n },\n {\n name: \"Evaluate Hedging Options\",\n description: \"Consider financial instruments like interest rate swaps or caps to hedge against rising interest rates, thereby stabilizing future interest expenses.\"\n },\n {\n name: \"Recommendation: Implement Hedging Strategies for Variable-Rate Debt\",\n description: \"If there’s significant risk exposure, propose hedging solutions to protect against rate increases and provide more predictable interest payments.\"\n },\n {\n name: \"Hedging Workflow:\",\n workflow: [\n \"Analyze the client’s exposure to interest rate fluctuations.\",\n \"Research and evaluate interest rate hedging instruments (e.g., swaps, caps).\",\n \"Run cost-benefit analyses for implementing hedging strategies.\",\n \"Present the pros and cons of hedging to the client, recommending the best approach based on risk tolerance.\",\n \"Assist the client in executing hedging transactions, if appropriate.\",\n ]\n }\n ],\n },\n {\n title: \"Debt Consolidation\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Identify Opportunities for Consolidation\",\n description: \"Review the client’s various debt instruments to see if consolidating them into one or two lower-interest loans can streamline debt management and reduce interest costs.\"\n },\n {\n name: \"Compare Consolidation Options\",\n description: \"Explore debt consolidation loans, comparing their interest rates, fees, and terms with the client’s existing loans.\"\n },\n {\n name: \"Recommendation: Consolidate Debt to Lower Interest Rates and Simplify Payments\",\n description: \"If feasible, propose debt consolidation to simplify loan management and secure lower interest rates.\"\n },\n {\n name: \"Debt Consolidation Workflow:\",\n workflow: [\n \"List all existing loans and credit facilities.\",\n \"Calculate the weighted average interest rate of current debts.\",\n \"Identify potential consolidation opportunities with lower interest rates.\",\n \"Prepare a consolidation proposal with detailed interest savings and a simplified payment schedule.\",\n \"Present the consolidation plan to the client, ensuring the new loan terms are more favorable.\"\n ]\n }\n ],\n },\n {\n title: \"Cash Flow and Debt Servicing Strategy\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Cash Flow and Debt Servicing Ability\",\n description: \"Analyze the client’s cash flow to ensure sufficient liquidity for servicing debt while maintaining healthy operations. Identify opportunities to prioritize paying off higher-interest debt.\"\n },\n {\n name: \"Create a Debt Repayment Schedule\",\n description: \"Develop a debt servicing plan that prioritizes repayment of high-interest debt while maintaining flexibility for operational needs.\"\n },\n {\n name: \"Recommendation: Optimize Debt Servicing to Minimize Interest Costs\",\n description: \"Propose a structured debt repayment strategy that focuses on reducing high-interest liabilities and freeing up cash flow for other business activities.\"\n },\n {\n name: \"Cash Flow Strategy Workflow:\",\n workflow: [\n \"Review cash flow statements and debt servicing capabilities.\",\n \"Develop a prioritized repayment schedule targeting high-interest debt.\",\n \"Incorporate early payment penalties and prepayment options in the analysis.\",\n \"Present the repayment plan to the client, ensuring it aligns with their cash flow.\",\n \"Monitor progress and adjust the repayment schedule as business conditions change.\"\n ]\n }\n ],\n },\n {\n title: \"Loan Covenants and Restrictions\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Loan Covenants\",\n description: \"Examine the loan agreements for any restrictive covenants that may trigger penalties or higher interest rates if certain financial metrics are not met.\"\n },\n {\n name: \"Assess Compliance and Covenant Management\",\n description: \"Ensure the client is meeting all covenants and assess whether any violations or near-violations have led to increased interest expenses.\"\n },\n {\n name: \"Recommendation: Renegotiate Loan Covenants to Reduce Interest Rates\",\n description: \"If the covenants are too restrictive, propose renegotiating with lenders for more favorable terms or restructuring debt to avoid penalty triggers.\"\n },\n {\n name: \"Covenant Review Workflow:\",\n workflow: [\n \"Analyze existing loan covenants and restrictions.\",\n \"Ensure compliance with all covenant requirements.\",\n \"If necessary, renegotiate covenants that lead to higher interest rates or fees.\",\n \"Propose refinancing options if covenants are hindering the client’s ability to reduce interest costs.\",\n \"Present recommendations for more favorable loan terms or alternative financing options.\"\n ]\n }\n ],\n },\n ],\n summary: \"\"\n },\n {\n id: 9,\n title: \"Labor Costs\",\n sections: [\n {\n title: \"Analyze Workforce Efficiency\",\n displayTasks: true,\n objective: \"Identify inefficiencies in workforce deployment and productivity that may be increasing labor costs.\",\n tasks: [\n {\n name: \"Review Job Roles and Responsibilities\",\n description: \"Evaluate whether employees' roles are clearly defined and whether the workforce is overstaffed in certain areas.\"\n },\n {\n name: \"Assess Productivity Levels\",\n description: \"Analyze productivity metrics to see if there are inefficiencies in how work is completed or if labor is being underutilized.\"\n },\n {\n name: \"Workforce Efficiency Workflow:\",\n workflow: [\n \"Conduct a time and task analysis for key roles, identifying areas where employees may be over- or under-utilized.\",\n \"Review job descriptions and cross-train employees to improve flexibility and cover work gaps during peak times without adding headcount.\",\n \"Implement process improvements and workflow automation where possible to streamline labor-intensive tasks.\",\n \"Set key performance indicators (KPIs) for employee productivity and monitor adherence to ensure optimal resource usage.\",\n \"Regularly review and adjust employee responsibilities to match workload demand and avoid unnecessary overtime.\",\n ]\n }\n ],\n },\n {\n title: \"Review Compensation Structure\",\n displayTasks: true,\n objective: \"Ensure that the client's compensation packages are competitive but not inflated beyond industry standards\",\n tasks: [\n {\n name: \"Analyze Wage and Benefit Packages\",\n description: \"Compare wages, benefits, and bonuses to industry benchmarks to see if the client is offering above-market compensation.\"\n },\n {\n name: \"Evaluate Incentive Programs\",\n description: \"Assess the effectiveness and efficiency of any incentive or bonus programs. Consider performance-based pay structures to incentivize high productivity.\"\n },\n {\n name: \"Compensation Review Workflow:\",\n workflow: [\n \"Conduct a comprehensive review of wage rates, benefits packages, and overtime policies in comparison to industry norms.\",\n \"Identify areas where pay may be inflated, such as excessive overtime, overpayment for certain job roles, or unnecessary perks.\",\n \"Propose adjustments to the compensation structure that balance cost control with employee satisfaction.\",\n \"Implement a performance-based incentive system that links bonuses and raises to measurable productivity or cost-saving metrics.\",\n \"Communicate any changes clearly to employees, ensuring they understand the value of performance-based rewards.\",\n ]\n }\n ],\n },\n {\n title: \"Identify Opportunities for Automation and Technology Integration\",\n displayTasks: true,\n objective: \"Leverage automation and technology to reduce manual labor and increase operational efficiency.\",\n tasks: [\n {\n name: \"Evaluate Manual Processes\",\n description: \"Identify areas in the client's operations where manual tasks can be automated to reduce reliance on labor.\"\n },\n {\n name: \"Explore Software and Automation Tools\",\n description: \"Research tools and systems that can streamline tasks such as payroll processing, scheduling, or repetitive manual work in production.\"\n },\n {\n name: \"Automation Workflow:\",\n workflow: [\n \"Conduct a process audit to identify labor-intensive tasks that can be automated or simplified through technology.\",\n \"Explore and recommend automation tools, including payroll software, workflow automation, or production line technology.\",\n \"Calculate the potential cost savings from automating specific tasks or workflows.\",\n \"Implement the chosen technology, training employees on its use to ensure a smooth transition.\",\n \"Monitor performance after implementation to track labor cost reductions and productivity improvements.\",\n ]\n }\n ],\n },\n {\n title: \"Assess Hiring and Workforce Planning Practices\",\n displayTasks: true,\n objective: \"Improve hiring practices to avoid overstaffing or unnecessary labor costs.\",\n tasks: [\n {\n name: \"Review Workforce Size and Needs\",\n description: \"Compare the current headcount with operational needs to ensure the client isn’t overstaffed.\"\n },\n {\n name: \"Optimize Hiring Practices\",\n description: \"Ensure that hiring decisions are made based on data-driven workforce planning to avoid unnecessary hires.\"\n },\n {\n name: \"Workforce Planning Workflow:\",\n workflow: [\n \"Assess the client’s current workforce size and alignment with production needs, identifying potential overstaffing or under-utilization.\",\n \"Use workforce planning tools to forecast future labor needs based on demand trends, reducing the risk of overhiring.\",\n \"Establish clear criteria for hiring, emphasizing part-time, contract, or temporary workers to meet short-term demands without long-term cost commitments.\",\n \"Integrate flexible work arrangements (e.g., freelance or seasonal labor) to manage peak workloads without adding full-time staff.\",\n \"Regularly reassess workforce needs to adjust hiring plans in response to operational demand.\",\n ]\n }\n ],\n },\n {\n title: \"Improve Employee Retention and Reduce Turnover\",\n displayTasks: true,\n objective: \"Minimize turnover costs by improving employee retention and reducing the need for frequent rehiring and training.\",\n tasks: [\n {\n name: \"Analyze Turnover Rates\",\n description: \"Review employee turnover data to see if higher-than-average turnover is leading to increased hiring and training costs.\"\n },\n {\n name: \"Implement Retention Strategies\",\n description: \"Develop programs that improve employee satisfaction and retention, such as career development opportunities, recognition programs, and flexible work arrangements.\"\n },\n {\n name: \"Retention and Turnover Workflow:\",\n workflow: [\n \"Analyze employee turnover data and exit interviews to understand why employees may be leaving and how much it is costing in rehiring and training.\",\n \"Develop a retention plan, focusing on career development, work-life balance, and employee recognition to improve morale and reduce turnover.\",\n \"Implement stay interviews and employee feedback mechanisms to proactively address potential concerns before they lead to resignations.\",\n \"Reduce the frequency of new hires by promoting internal talent and creating clear pathways for career advancement.\",\n \"Track retention rates and compare them to industry averages to ensure turnover reduction strategies are effective.\",\n ]\n }\n ],\n },\n {\n title: \"Monitor and Control Overtime Costs\",\n displayTasks: true,\n objective: \"Control overtime usage to ensure that labor costs remain aligned with business demand without relying heavily on expensive overtime pay.\",\n tasks: [\n {\n name: \"Analyze Overtime Trends\",\n description: \"Review historical overtime patterns to identify if labor costs are being driven by excessive overtime usage.\"\n },\n {\n name: \"Schedule Workforce Efficiently\",\n description: \"Improve workforce scheduling to reduce the need for overtime and ensure that labor is deployed more efficiently.\"\n },\n {\n name: \"Overtime Management Workflow:\",\n workflow: [\n \"Conduct an overtime audit to identify departments or roles that are incurring excessive overtime costs.\",\n \"Implement scheduling adjustments to ensure that employees are only working overtime when absolutely necessary.\",\n \"Explore hiring temporary or part-time workers to handle peak periods instead of relying on overtime for full-time staff.\",\n \"Establish clear policies on when overtime is authorized, and ensure supervisors adhere to these guidelines.\",\n \"Regularly monitor overtime usage and adjust staffing schedules as needed to balance costs.\",\n ]\n }\n ],\n },\n {\n title: \"Improve Training and Skill Development\",\n displayTasks: true,\n objective: \"Boost employee productivity through training programs, reducing the need for additional labor or corrective work.\",\n tasks: [\n {\n name: \"Evaluate Current Training Programs\",\n description: \"Assess the effectiveness of current employee training programs to ensure employees are working efficiently and not incurring additional labor costs through errors or slow work.\"\n },\n {\n name: \"Implement Targeted Training\",\n description: \"Develop and implement training programs that focus on improving efficiency and reducing the need for additional headcount.\"\n },\n {\n name: \"Training and Development Workflow:\",\n workflow: [\n \"Review current employee training programs to ensure that staff have the necessary skills to perform their roles efficiently.\",\n \"Identify areas where additional training or upskilling can help reduce labor costs, such as increasing efficiency or reducing error rates.\",\n \"Implement targeted training initiatives, including cross-training employees to handle multiple roles and reduce reliance on additional staff.\",\n \"Monitor productivity improvements post-training to measure the return on investment and adjust programs as necessary.\",\n \"Create a continuous improvement culture where employees are encouraged to learn and develop skills that contribute to cost-saving measures.\",\n ]\n }\n ],\n },\n {\n title: \"Explore Outsourcing or Offshoring\",\n displayTasks: true,\n objective: \"Reduce labor costs by exploring opportunities for outsourcing non-core tasks or shifting certain work functions to lower-cost regions.\",\n tasks: [\n {\n name: \"Identify Non-Core Functions\",\n description: \"Review the client’s operations and identify non-core functions that could be outsourced or offshored to reduce labor costs.\"\n },\n {\n name: \"Analyze Cost-Benefit of Outsourcing\",\n description: \"Evaluate the potential savings of outsourcing compared to in-house labor and consider quality control and other factors.\"\n },\n {\n name: \"Outsourcing Workflow:\",\n workflow: [\n \"Identify tasks or roles within the organization that are non-core and suitable for outsourcing or offshoring.\",\n \"Research reputable outsourcing providers or remote work options to perform these tasks at a lower cost.\",\n \"Conduct a cost-benefit analysis comparing current labor costs with the potential savings from outsourcing or offshoring.\",\n \"Develop a plan to transition specific functions to outsourced providers while maintaining quality control and oversight.\",\n \"Monitor the impact on labor costs and productivity, adjusting outsourcing strategies as needed.\",\n ]\n }\n ],\n },\n {\n title: \"Continuously Monitor Labor Costs and Adjust as Needed\",\n displayTasks: true,\n objective: \"Maintain ongoing control over labor costs through regular review and adjustment of workforce strategies.\",\n tasks: [\n {\n name: \"Set Regular Review Periods\",\n description: \"Establish a regular cadence for reviewing labor costs and identifying areas for further optimization.\"\n },\n {\n name: \"Adjust Labor Strategy Based on Data\",\n description: \"Use data from workforce performance, compensation trends, and industry benchmarks to make continuous adjustments to the labor cost strategy.\"\n },\n {\n name: \"Ongoing Monitoring Workflow:\",\n workflow: [\n \"Schedule quarterly or annual labor cost reviews to assess alignment with benchmarks and track the effectiveness of implemented strategies.\",\n \"Compare actual labor costs against industry peers and set specific goals for cost reduction or efficiency improvements.\",\n \"Work with department heads to implement cost-saving strategies based on current labor trends and adjust workforce plans accordingly.\",\n \"Regularly gather employee feedback on implemented changes to ensure that morale and productivity remain high despite cost-saving measures.\",\n \"Continuously refine labor cost strategies to adapt to changing business needs and market conditions.\",\n ]\n }\n ],\n },\n ],\n summary: \"By following this workflow, you will help your client identify inefficiencies in their labor practices and develop a strategic approach to reduce labor costs while maintaining productivity and employee satisfaction.\"\n },\n {\n id: 10,\n title: \"Materials Cost\",\n sections: [\n {\n title: \"Analyze Supplier and Sourcing Strategy\",\n displayTasks: true,\n objective: \"Ensure that materials are sourced from the most cost-effective suppliers without compromising quality.\",\n tasks: [\n {\n name: \"Review Current Suppliers\",\n description: \"Examine the client’s current supplier agreements, costs, and terms. Compare these to industry standards and identify any discrepancies in pricing or payment terms.\"\n },\n {\n name: \"Identify Alternative Suppliers\",\n description: \"Explore potential new suppliers or alternative materials that can offer the same quality at lower prices.\"\n },\n {\n name: \"Supplier Strategy Workflow:\",\n workflow: [\n \"Evaluate current supplier agreements, focusing on price, payment terms, and any volume discounts.\",\n \"Research and identify alternative suppliers that may offer better terms without compromising on quality.\",\n \"Run cost comparisons and perform a risk assessment for switching suppliers or introducing new materials.\",\n \"Negotiate better pricing or terms with current or new suppliers (e.g., bulk purchasing, extended payment terms).\",\n \"Implement new supplier agreements and track cost savings over the next review period.\"\n\n ]\n }\n ],\n },\n {\n title: \"Evaluate Purchasing Processes\",\n displayTasks: true,\n objective: \"Improve purchasing efficiency by identifying over-purchasing, under-utilization, or missed savings opportunities.\",\n tasks: [\n {\n name: \"Review Order Quantities and Frequency\",\n description: \"Assess whether materials are being ordered in optimal quantities. Look for over-purchasing or frequent, small orders that increase cost.\"\n },\n {\n name: \"Consolidate Orders or Use Bulk Purchasing\",\n description: \"Identify opportunities to consolidate orders or negotiate better rates through bulk purchasing.\"\n },\n {\n name: \"Purchasing Process Workflow:\",\n workflow: [\n \"Review historical purchasing data to identify patterns of over-purchasing or inefficient order frequencies.\",\n \"Analyze order quantities to ensure they are aligned with production needs and do not lead to excess inventory or wastage.\",\n \"Negotiate bulk purchasing or volume discounts where applicable.\",\n \"Consider setting up just-in-time (JIT) ordering processes to reduce the need for large upfront orders.\",\n \"Regularly monitor purchasing behavior and make adjustments to optimize cost and order management.\"\n\n ]\n }\n ],\n },\n {\n title: \"Optimize Inventory Management\",\n displayTasks: true,\n objective: \"Ensure efficient inventory management to reduce excess materials, prevent stockouts, and improve cash flow.\",\n tasks: [\n {\n name: \"Analyze Inventory Turnover\",\n description: \"Review inventory turnover rates to assess whether the client is holding excess materials that could be driving up costs or risking obsolescence.\"\n },\n {\n name: \"Implement Lean Inventory Practices\",\n description: \"Introduce lean inventory management practices, such as JIT, to minimize excess stock while ensuring materials are available when needed.\"\n },\n {\n name: \"Inventory Management Workflow:\",\n workflow: [\n \"Review inventory turnover ratios and compare them to industry benchmarks to identify excess or obsolete materials.\",\n \"Implement a lean inventory system, such as just-in-time (JIT), to minimize holding costs and improve cash flow.\",\n \"Set reorder points and safety stock levels based on historical demand patterns to avoid both stockouts and overstocking.\",\n \"Use inventory management software to track and optimize stock levels.\",\n \"Continuously monitor and adjust inventory strategies to match production needs while minimizing costs.\"\n\n ]\n }\n ],\n },\n {\n title: \"Address Material Waste and Scrap Rates\",\n displayTasks: true,\n objective: \"Minimize material waste and reduce scrap rates to optimize material usage and lower costs.\",\n tasks: [\n {\n name: \"Analyze Waste and Scrap Rates\",\n description: \"Review production processes to identify areas where excessive material waste or high scrap rates are occurring.\"\n },\n {\n name: \"Implement Waste Reduction Initiatives\",\n description: \"Work with the client’s operations team to introduce process improvements, automation, or quality control measures that reduce material waste.\"\n },\n {\n name: \"Waste Reduction Workflow:\",\n workflow: [\n \"Conduct a waste audit to identify areas in production where material waste or high scrap rates are prevalent.\",\n \"Collaborate with the operations team to implement process improvements that reduce waste, such as more precise cutting, automation, or improved quality control.\",\n \"Introduce training programs for employees to reduce handling errors or production defects.\",\n \"Explore options for recycling or reusing scrap materials to minimize waste disposal costs.\",\n \"Track scrap rates and waste reduction efforts to measure improvements over time and adjust strategies as necessary.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Production Efficiency\",\n displayTasks: true,\n objective: \"Optimize production processes to improve materials usage and reduce costs associated with inefficiencies.\",\n tasks: [\n {\n name: \"Review Production Processes\",\n description: \"Evaluate the client’s production processes for inefficiencies that may be contributing to higher material usage, such as outdated machinery or inefficient workflows.\"\n },\n {\n name: \"Enhance Process Automation or Equipment\",\n description: \"Consider investing in more efficient machinery or automation technologies that reduce material usage or scrap\"\n },\n {\n name: \"Production Efficiency Workflow:\",\n workflow: [\n \"Conduct a review of current production processes, identifying areas where inefficient workflows or outdated equipment may be driving up material costs.\",\n \"Explore opportunities to automate manual processes or upgrade equipment to improve precision and reduce material waste.\",\n \"Implement continuous improvement methodologies, such as Six Sigma or lean manufacturing, to streamline production and reduce material consumption.\",\n \"Regularly track production metrics to identify additional opportunities for efficiency improvements.\",\n \"Adjust production processes based on findings and track the impact on material usage and costs.\"\n ]\n }\n ],\n },\n {\n title: \"Negotiate with Suppliers for Better Terms\",\n displayTasks: true,\n objective: \"Revisit supplier agreements and negotiate for better pricing, longer payment terms, or improved service.\",\n tasks: [\n {\n name: \"Assess Current Supplier Terms\",\n description: \"Review current supplier contracts and identify areas where the client may be able to negotiate for better terms, such as volume discounts or extended payment terms.\"\n },\n {\n name: \"Renegotiate Contracts\",\n description: \"Engage with suppliers to renegotiate terms that align better with the client’s material cost reduction goals.\"\n },\n {\n name: \"Supplier Negotiation Workflow:\",\n workflow: [\n \"Review all current supplier contracts and compare their pricing, payment terms, and delivery schedules against industry benchmarks.\",\n \"Identify suppliers with room for negotiation based on volume, long-term relationships, or alternative supplier options.\",\n \"Initiate renegotiations with suppliers, focusing on key areas such as bulk pricing, extended payment terms, and improved delivery timelines.\",\n \"Document the renegotiated agreements and implement them into the purchasing workflow.\",\n \"Monitor the savings generated by new supplier terms and assess whether further negotiations or supplier changes are needed.\"\n ]\n }\n ],\n },\n {\n title: \"Implement Technology for Cost Control\",\n displayTasks: true,\n objective: \"Leverage technology to gain better control over materials cost, inventory, and purchasing.\",\n tasks: [\n {\n name: \"Introduce Material Tracking Systems\",\n description: \"Implement software to monitor material usage in real time, helping identify areas where overuse or waste is occurring.\"\n },\n {\n name: \"Utilize Procurement Platforms\",\n description: \"Use procurement software to streamline purchasing processes, automate reordering, and take advantage of supplier price comparison tools.\"\n },\n {\n name: \"Technology Implementation Workflow:\",\n workflow: [\n \"Review current material tracking and procurement systems to assess whether they are providing accurate, real-time data on material costs.\",\n \"Research material tracking and procurement platforms that fit the client’s size and complexity.\",\n \"Implement software that tracks material usage, monitors waste, and automates reordering.\",\n \"Train employees to use the new systems effectively, ensuring they understand how to track and manage materials more efficiently.\",\n \"Regularly audit the system's performance, using data-driven insights to make further cost-saving adjustments.\"\n ]\n }\n ],\n },\n {\n title: \"Continuously Review and Optimize Material Costs\",\n displayTasks: true,\n objective: \"Regularly review material costs and adjust strategies to ensure ongoing alignment with industry benchmarks.\",\n tasks: [\n {\n name: \"Establish Regular Review Periods\",\n description: \"Set a schedule for reviewing material costs, supplier contracts, and purchasing behavior to identify areas for ongoing improvements.\"\n },\n {\n name: \"Adjust Strategies as Needed\",\n description: \"Make continuous adjustments based on market changes, supplier shifts, or internal process improvements.\"\n },\n {\n name: \"Ongoing Optimization Workflow:\",\n workflow: [\n \"Establish a quarterly or annual review process to assess material costs, supplier performance, and procurement practices.\",\n \"Compare current costs against industry benchmarks and adjust strategies as needed.\",\n \"Work with the client’s operations and purchasing teams to implement any necessary changes or improvements.\",\n \"Track the impact of cost-saving measures and document areas for further optimization.\",\n \"Ensure continuous communication with suppliers and operations teams to remain agile and responsive to changing market conditions.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this workflow, you will help your client identify and address the factors contributing to higher materials costs. This strategic approach focuses on optimizing sourcing, purchasing, inventory management, and production efficiency to align the client’s material expenses with industry benchmarks, ultimately driving down costs and improving profitability.\"\n },\n {\n id: 11,\n title: \"Profit Margin Improvement\",\n sections: [\n {\n title: \"Revenue Growth & Sales Strategy\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Analyze Sales Performance by Product/Service Line\",\n description: \"Review the profitability of individual products or services to determine which are contributing the most and least to overall revenue. Identify underperforming items and consider whether they should be discontinued or improved.\"\n },\n {\n name: \"Review Pricing Strategy\",\n description: \"Assess the client’s current pricing model (cost-plus, value-based, competitive) to ensure prices are aligned with market demand and value delivered. Consider price adjustments for high-demand or premium products.\"\n },\n {\n name: \"Explore New Revenue Streams\",\n description: \"Identify opportunities for new products, services, or markets that could boost revenue without significantly increasing costs.\"\n },\n {\n name: \"Revenue Growth Workflow:\",\n workflow: [\n \"Break down revenue by product/service and analyze profitability.\",\n \"Evaluate pricing strategy and explore opportunities for price increases or dynamic pricing models.\",\n \"Identify underperforming products/services and recommend improvements or discontinuation.\",\n \"Explore potential new revenue streams or markets.\",\n \"Develop a revised sales strategy, focusing on high-margin products.\",\n \"Present findings and recommendations to the client.\",\n ]\n }\n ],\n },\n {\n title: \"Cost of Goods Sold (COGS) Control\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Direct Material and Labor Costs\",\n description: \"Review the cost of raw materials and labor to identify inefficiencies. Compare your client’s costs to industry standards and identify areas for improvement, such as negotiating with suppliers or improving labor efficiency.\"\n },\n {\n name: \"Optimize Production Processes\",\n description: \"Analyze the client’s production or service delivery processes to identify inefficiencies. Streamline production by reducing waste, optimizing labor, or introducing automation.\"\n },\n {\n name: \"COGS Control Workflow:\",\n workflow: [\n \"Analyze direct material and labor costs against industry standards.\",\n \"Negotiate better pricing with suppliers or explore alternative suppliers.\",\n \"Identify and reduce waste in production or service delivery processes.\",\n \"Introduce lean manufacturing or other efficiency-driven practices to reduce labor costs.\",\n \"Present a detailed plan to reduce COGS and improve profit margin.\"\n ]\n }\n ],\n },\n {\n title: \"Overhead and Operating Expense Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Fixed and Variable Expenses\",\n description: \"Conduct a thorough review of fixed (e.g., rent, utilities) and variable (e.g., marketing, supplies) operating expenses to identify areas for reduction.\"\n },\n {\n name: \"Implement Cost-Cutting Measures\",\n description: \"Recommend cost-cutting measures such as renegotiating contracts, switching suppliers, or adopting energy-efficient practices to lower overhead costs without affecting the quality of products or services.\"\n },\n {\n name: \"Expense Management Workflow:\",\n workflow: [\n \"Break down fixed and variable operating expenses.\",\n \"Identify high-cost areas and prioritize for review.\",\n \"Renegotiate leases, supplier contracts, or implement cost-saving measures (e.g., energy savings, remote work policies).\",\n \"Explore outsourcing non-core functions where cost-effective.\",\n \"Present a plan for overhead and expense reduction to the client, highlighting its effect on profit margin.\"\n ]\n }\n ],\n },\n {\n title: \"Labor Efficiency and Compensation Review\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Analyze Labor Productivity\",\n description: \"Review employee productivity metrics, comparing output to costs. Identify any bottlenecks or inefficiencies that may be driving up labor costs without proportionate returns.\"\n },\n {\n name: \"Optimize Workforce Compensation and Benefits\",\n description: \"Review the client’s compensation structure. Ensure salaries, bonuses, and benefits are aligned with industry standards and that they reflect productivity and contributions to the bottom line.\"\n },\n {\n name: \"Labor Efficiency Workflow:\",\n workflow: [\n \"Analyze labor productivity, comparing input costs to output.\",\n \"Identify roles or departments with low efficiency and recommend improvements.\",\n \"Review compensation structures to ensure they align with performance metrics.\",\n \"Consider implementing performance-based incentives to boost productivity.\",\n \"Present findings and actionable strategies to improve labor efficiency and reduce costs.\",\n ]\n }\n ],\n },\n {\n title: \"Inventory Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Analyze Inventory Turnover\",\n description: \"Review inventory turnover ratios to identify slow-moving or obsolete inventory. Excess inventory ties up cash and increases storage costs, while stockouts can lead to missed sales opportunities.\"\n },\n {\n name: \"Implement Inventory Optimization Practices\",\n description: \"Recommend just-in-time (JIT) inventory systems, demand forecasting, or other inventory optimization strategies to improve efficiency and reduce excess stock.\"\n },\n {\n name: \"Inventory Management Workflow\",\n workflow: [\n \"Review current inventory turnover ratios and holding costs.\",\n \"Identify slow-moving or obsolete inventory and develop a plan to liquidate it.\",\n \"Implement inventory optimization practices, such as just-in-time (JIT) or improved demand forecasting.\",\n \"Monitor inventory regularly and adjust stock levels based on demand trends.\",\n \"Present a strategy to optimize inventory and reduce carrying costs, increasing profit margin.\",\n ]\n }\n ],\n },\n {\n title: \"Interest and Debt Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Debt Structure and Interest Costs\",\n description: \"Analyze the client’s current debt obligations, including interest rates, terms, and payment schedules. Identify opportunities to refinance or restructure debt to reduce interest expenses.\"\n },\n {\n name: \"Optimize Cash Flow Management\",\n description: \"Improve cash flow management practices to ensure timely debt payments and avoid unnecessary borrowing. Consider alternative financing options with lower interest rates.\"\n },\n {\n name: \"Debt Management Workflow:\",\n workflow: [\n \"Review debt agreements and current interest rates.\",\n \"Compare existing debt terms to current market rates and identify opportunities to refinance at lower rates.\",\n \"Develop a debt repayment plan to reduce high-interest obligations.\",\n \"Optimize cash flow management to avoid late fees and interest penalties.\",\n \"Present a debt management strategy to the client to reduce interest expenses and improve profit margin.\"\n ]\n }\n ],\n },\n {\n title: \"Tax Strategy and Planning\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Current Tax Strategy\",\n description: \"Assess the client’s current tax situation, including credits, deductions, and tax-efficient structures, to ensure they are taking full advantage of available tax benefits.\"\n },\n {\n name: \"Implement Tax-Efficient Strategies\",\n description: \"Recommend strategies such as tax deferral, accelerated depreciation, or leveraging tax credits to reduce tax liabilities.\"\n },\n {\n name: \"Tax Planning Workflow:\",\n workflow: [\n \"Review the client’s current tax strategy, focusing on deductions, credits, and tax planning opportunities.\",\n \"Identify underutilized tax benefits and explore opportunities for tax deferral or reduction.\",\n \"Recommend tax-efficient structures, such as pass-through entities or retirement plan contributions.\",\n \"Ensure the client is maximizing credits for R&D, energy savings, and other applicable incentives.\",\n \"Present a tax planning strategy to the client with clear steps to minimize tax burden and improve net profit margin.\"\n ]\n }\n ],\n },\n {\n title: \"Pricing and Profitability Analysis\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Product/Service Profitability\",\n description: \"Perform a profitability analysis on the client’s product or service lines to determine where the highest profit margins are. Focus on high-margin items and consider whether low-margin items should be restructured or discontinued.\"\n },\n {\n name: \"Implement Dynamic Pricing Models\",\n description: \"Explore opportunities to implement dynamic pricing models based on customer demand, market conditions, or seasonal trends to optimize revenue and profit.\"\n },\n {\n name: \"Profitability Analysis Workflow:\",\n workflow: [\n \"Break down profitability by product/service and assess margins.\",\n \"Identify low-margin items and determine if they should be repriced, restructured, or discontinued.\",\n \"Implement tiered or dynamic pricing models for products or services with high demand.\",\n \"Present findings and profitability improvement strategies to the client.\"\n ]\n }\n ],\n },\n {\n title: \"Operational Efficiency & Process Improvement\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Identify Inefficiencies in Key Processes\",\n description: \"Review the client’s core business processes, from production to service delivery, to identify bottlenecks, delays, or inefficiencies. Look for opportunities to automate processes, reduce manual tasks, or implement technology solutions.\"\n },\n {\n name: \"Improve Supply Chain and Vendor Management\",\n description: \"Assess the client’s supply chain and vendor relationships. Negotiate better terms or explore alternative suppliers for cost savings.\"\n },\n {\n name: \"Operational Efficiency Workflow:\",\n workflow: [\n \"Map key processes and identify inefficiencies.\",\n \"Implement process improvements, such as automation, to streamline operations.\",\n \"Negotiate with suppliers for better pricing or payment terms.\",\n \"Develop a plan to continuously review and improve operational efficiency.\"\n ]\n }\n ],\n },\n ],\n summary: \"Present a detailed process improvement plan to the client, emphasizing cost reductions and profit margin improvements.\"\n },\n {\n id: 12,\n title: \"Reducing Debt\",\n sections: [\n {\n title: \"Assess Current Debt Structure\",\n displayTasks: true,\n objective: \"Analyze the types of debt your client holds and determine whether they are using an optimal mix of financing sources.\",\n tasks: [\n {\n name: \"Review Debt Composition\",\n description: \"Identify the types of debt your client holds (e.g., short-term vs. long-term, secured vs. unsecured, fixed vs. variable interest rates).\"\n },\n {\n name: \"Evaluate Debt Costs\",\n description: \"Calculate the weighted average cost of debt (WACD) and compare it to industry norms to determine whether certain loans are more expensive than necessary.\"\n },\n {\n name: \"Debt Structure Workflow:\",\n workflow: [\n \"Conduct a thorough review of all existing loans, lines of credit, bonds, and other liabilities.\",\n \"Break down the composition of each type of debt and categorize them based on interest rate, term, and security.\",\n \"Compare the weighted average cost of debt to industry standards.\",\n \"Present findings to the client, highlighting areas where high-cost debt could be refinanced or restructured.\"\n ]\n }\n ],\n },\n {\n title: \"Explore Debt Refinancing Opportunities\",\n displayTasks: true,\n objective: \"Reduce interest costs by refinancing high-interest debt to lower-cost alternatives.\",\n tasks: [\n {\n name: \"Assess Interest Rates\",\n description: \"Review the interest rates on current loans and compare them to prevailing market rates. If the rates are higher than average, refinancing could reduce interest costs.\"\n },\n {\n name: \"Evaluate Refinancing Terms\",\n description: \"Determine if refinancing could extend repayment periods, lower monthly payments, or improve cash flow without increasing total debt over the long term.\"\n },\n {\n name: \"Refinancing Workflow:\",\n workflow: [\n \"Identify any high-interest loans or debts that could be refinanced.\",\n \"Research and evaluate potential lenders or financial institutions offering more favorable terms (lower rates, longer repayment periods).\",\n \"Compare refinancing costs (fees, penalties) to the potential savings over time.\",\n \"Present refinancing options to the client, outlining how the new terms can reduce overall debt costs.\"\n ]\n }\n ],\n },\n {\n title: \"Prioritize Debt Repayment\",\n displayTasks: true,\n objective: \"Create a debt repayment strategy that focuses on paying off high-interest or short-term debt first to reduce overall debt costs.\",\n tasks: [\n {\n name: \"Identify High-Cost Debt\",\n description: \"List all outstanding debts in order of interest rate, from highest to lowest. Prioritize repaying the debt with the highest interest rates first (debt avalanche method).\"\n },\n {\n name: \"Create a Debt Repayment Plan\",\n description: \"Develop a structured repayment plan with specific timelines and milestones. Ensure the plan aligns with the client’s cash flow and liquidity needs.\"\n },\n {\n name: \"Debt Repayment Workflow:\",\n workflow: [\n \"Rank debts based on interest rate and total cost over time.\",\n \"Develop a repayment schedule that focuses on high-interest debt first, while making minimum payments on lower-cost debts.\",\n \"Ensure that the repayment plan maintains sufficient liquidity for ongoing business operations.\",\n \"Present the repayment strategy to the client, with clear timelines and benefits of focusing on higher-cost debt.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Cash Flow Management\",\n displayTasks: true,\n objective: \"Free up cash flow to make higher debt payments and reduce reliance on borrowing.\",\n tasks: [\n {\n name: \"Review Working Capital\",\n description: \"Evaluate the client’s working capital management, including accounts receivable, inventory, and accounts payable, to optimize cash flow.\"\n },\n {\n name: \"Free Up Cash for Debt Payments\",\n description: \"Identify opportunities to reduce expenses, improve collections, or renegotiate payment terms with suppliers to increase available cash for debt repayment.\"\n },\n {\n name: \"Cash Flow Workflow:\",\n workflow: [\n \"Review the client’s working capital to identify inefficiencies in A/R collections, inventory management, or A/P payment terms.\",\n \"Recommend cash flow improvement strategies such as tightening credit terms, optimizing inventory turnover, or extending vendor payment terms.\",\n \"Allocate additional freed-up cash toward accelerated debt repayments.\",\n \"Present the improved cash flow management strategy and its potential impact on reducing debt faster.\"\n ]\n }\n ],\n },\n {\n title: \"Restructure Debt Where Necessary\",\n displayTasks: true,\n objective: \"Explore restructuring options for unsustainable debt levels or unfavorable repayment terms.\",\n tasks: [\n {\n name: \"Negotiate with Creditors\",\n description: \"If certain debts are causing cash flow issues, consider negotiating with creditors to restructure terms (e.g., extending payment deadlines or reducing interest rates).\"\n },\n {\n name: \"Evaluate Debt Consolidation\",\n description: \"Consolidate multiple high-interest debts into a single loan with a lower interest rate and more favorable repayment terms.\"\n },\n {\n name: \"Debt Restructuring Workflow:\",\n workflow: [\n \"Identify any debts that have unsustainable repayment schedules or unfavorable terms.\",\n \"Engage creditors in negotiations to adjust repayment terms, focusing on extending maturity dates or reducing interest rates where possible.\",\n \"Explore debt consolidation as a potential solution to streamline debt management.\",\n \"Present debt restructuring options to the client, detailing the impact on cash flow and overall debt levels.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Credit Rating\",\n displayTasks: true,\n objective: \"Work on improving the client’s credit rating to qualify for better interest rates and terms in the future.\",\n tasks: [\n {\n name: \"Evaluate Credit History\",\n description: \"Review the client’s credit score and credit history to identify any areas that could be negatively impacting their creditworthiness.\"\n },\n {\n name: \"Implement Credit-Improvement Strategies\",\n description: \"Develop a plan to improve the client’s credit rating by ensuring timely payments, reducing credit utilization, and disputing any inaccuracies in credit reports.\"\n },\n {\n name: \"Credit Improvement Workflow:\",\n workflow: [\n \"Obtain a copy of the client’s credit report and review for any discrepancies or negative factors.\",\n \"Ensure timely payments on all existing debts to avoid any further damage to the credit score.\",\n \"Implement strategies to reduce overall credit utilization (e.g., paying off revolving credit).\",\n \"Present a credit improvement plan to the client, including steps to improve their score and access lower-cost borrowing options.\"\n ]\n }\n ],\n },\n {\n title: \"Reduce Overall Leverage\",\n displayTasks: true,\n objective: \"Explore ways to reduce reliance on debt by adjusting the client’s capital structure or leveraging other financing options.\",\n tasks: [\n {\n name: \"Evaluate Leverage Ratio\",\n description: \"Review the client’s debt-to-equity ratio and determine if they are too reliant on debt financing compared to equity.\"\n },\n {\n name: \"Explore Alternative Financing\",\n description: \"Encourage the client to explore other forms of financing (e.g., equity investment, internal cash generation) to reduce dependence on debt.\"\n },\n {\n name: \"Leverage Reduction Workflow:\",\n workflow: [\n \"Review the current leverage ratio and benchmark it against industry norms.\",\n \"Evaluate the potential to raise capital through equity or other non-debt financing sources.\",\n \"Identify opportunities to retain earnings or reinvest profits to reduce the need for additional borrowing.\",\n \"Present leverage reduction strategies to the client, focusing on balancing their capital structure.\"\n ]\n }\n ],\n },\n {\n title: \"Review Covenant Compliance\",\n displayTasks: true,\n objective: \"Ensure compliance with debt covenants to avoid penalties or breaches that could increase debt costs.\",\n tasks: [\n {\n name: \"Review Existing Debt Covenants\",\n description: \"Analyze all loan agreements to identify any financial or operational covenants that the client must meet.\"\n },\n {\n name: \"Ensure Covenant Compliance\",\n description: \"Develop a plan to meet or exceed all debt covenant requirements to avoid penalties or forced refinancing.\"\n },\n {\n name: \"Covenant Compliance Workflow:\",\n workflow: [\n \"Review all loan covenants to understand the client’s obligations (e.g., maintaining certain financial ratios).\",\n \"Monitor financial performance to ensure compliance with covenant terms.\",\n \"If the client is at risk of breaching any covenants, engage lenders early to negotiate amendments or waivers.\",\n \"Present a covenant compliance plan to the client, outlining necessary actions to remain in good standing with lenders.\"\n ]\n }\n ],\n },\n {\n title: \"Monitor Debt Levels and Progress\",\n displayTasks: true,\n objective: \"Track progress on reducing debt and continually reassess opportunities to optimize the client’s debt structure.\",\n tasks: [\n {\n name: \"Establish Regular Debt Reviews\",\n description: \"Set up regular reviews to assess the progress of debt reduction efforts and identify any new opportunities for optimization.\"\n },\n {\n name: \"Update the Debt Reduction Plan as Needed\",\n description: \"Adjust the debt reduction strategy based on changing market conditions, cash flow availability, or other external factors.\"\n },\n {\n name: \"Monitoring Workflow:\",\n workflow: [\n \"Establish quarterly or semi-annual debt review meetings with the client.\",\n \"Track the success of current debt reduction strategies and benchmark against goals.\",\n \"Adjust the plan as needed to accommodate new financing needs, cash flow fluctuations, or changes in interest rates.\",\n \"Provide the client with regular updates on debt reduction progress and any recommended adjustments.\"\n ]\n }\n ],\n },\n ],\n summary: \"By following this workflow, you can guide your client through the process of reducing their debt costs, improving their financial stability, and creating a more sustainable capital structure.\"\n },\n {\n id: 13,\n title: \"Rent and Facilities Expense Reduction\",\n sections: [\n {\n title: \"Space Utilization & Optimization\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Evaluate Current Space Usage\",\n description: \"Review floor plans and occupancy rates. Assess if the current space is fully utilized or if there are underused areas.\"\n },\n {\n name: \"Assess Space Efficiency\",\n description: \"Compare space per employee with industry standards. Determine whether the square footage per employee is excessive or inefficient.\"\n },\n {\n name: \"Recommendation: Downsizing or Subleasing\",\n description: \"If there’s significant unused space, propose downsizing the physical office or subleasing unused portions to generate rental income.\"\n },\n {\n name: \"Optimization Workflow:\",\n workflow: [\n \"Review floor plan and calculate space utilization rates.\",\n \"Benchmark space per employee with industry standards.\",\n \"Conduct a cost-benefit analysis for downsizing or subleasing options.\",\n \"Present findings and suggest reducing space or negotiating for a smaller footprint during lease renewals.\"\n ]\n }\n ],\n },\n {\n title: \"Lease Terms & Renegotiation\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Current Lease Terms\",\n description: \"Examine details like escalation clauses, lease duration, and any options for renewal or early termination. Identify areas where the lease terms may be unfavorable.\"\n },\n {\n name: \"Market Comparisons\",\n description: \"Compare your client’s lease rates per square foot with current market rates for similar properties. Check if they are paying above-market rates.\"\n },\n {\n name: \"Recommendation: Renegotiation or Relocation\",\n description: \"If the current rates are above market, negotiate better terms or explore alternative locations with lower costs.\"\n },\n {\n name: \"Renegotiation Workflow:\",\n workflow: [\n \"Analyze escalation clauses and rent increase schedules.\",\n \"Benchmark rental rates against current market rates.\",\n \"If above market, prepare negotiation strategies for lowering rates.\",\n \"Explore other location options if renegotiation fails.\",\n \"Schedule a meeting with the landlord to discuss potential reductions or lease adjustments.\"\n ]\n }\n ],\n },\n {\n title: \"Maintenance and Facilities Management\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Analyze Maintenance and Repair Costs\",\n description: \"Review the regular maintenance schedule and any repair expenses. Are they significantly higher than industry benchmarks? Assess the efficiency of current vendors.\"\n },\n {\n name: \"Utility Efficiency Assessment\",\n description: \"Examine utility costs, such as electricity, water, and heating/cooling. Check for inefficiencies like outdated systems or high usage compared to industry peers.\"\n },\n {\n name: \"Recommendation: Vendor Contract Review & Sustainability Initiatives\",\n description: \"Evaluate if better deals can be negotiated with current vendors or if switching to more cost-effective vendors is possible. Recommend sustainability initiatives to reduce long-term utility expenses.\"\n },\n {\n name: \"Facilities Management Workflow:\",\n workflow: [\n \"Review current contracts with facilities vendors.\",\n \"Analyze repair and maintenance logs for inefficiencies.\",\n \"Compare utility costs with industry standards and explore energy-saving technologies.\",\n \"Investigate opportunities for renewable energy or sustainability upgrades.\",\n \"Negotiate better contracts with vendors or switch providers if savings are possible.\"\n ]\n }\n ],\n },\n {\n title: \"Technology and Remote Work Strategies\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Assess Potential for Remote or Hybrid Work\",\n description: \"Consider whether some employees can work remotely or if a hybrid model could reduce the need for office space.\"\n },\n {\n name: \"Review Technological Investments\",\n description: \"Identify existing technologies that can support remote work, such as cloud-based systems, communication tools, and digital collaboration platforms.\"\n },\n {\n name: \"Recommendation: Implement Remote Work to Reduce Physical Space Needs\",\n description: \"If feasible, reduce office space by implementing a more flexible work model.\"\n },\n {\n name: \"Remote Work Strategy Workflow:\",\n workflow: [\n \"Assess the feasibility of remote work for different departments.\",\n \"Review technology infrastructure to support remote employees.\",\n \"Conduct a cost-benefit analysis of reducing office space.\",\n \"Present a plan for a phased shift to remote work.\",\n \"Recalculate space needs based on remote work adoption and plan a transition to smaller office space.\"\n ]\n }\n ],\n },\n {\n title: \"Facility Relocation and Consolidation\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Review Current Office Location\",\n description: \"Analyze whether your client’s current location is in a premium area where rent is unnecessarily high. Compare alternative locations that offer lower rent but still meet business needs.\"\n },\n {\n name: \"Consolidation Opportunities\",\n description: \"If your client operates multiple facilities or office locations, explore the potential for consolidation to reduce rent and operating costs.\"\n },\n {\n name: \"Recommendation: Relocation or Consolidation to Reduce Rent\",\n description: \"If feasible, propose relocation to a lower-cost area or consolidation of multiple locations to streamline operations.\"\n },\n {\n name: \"Relocation Workflow:\",\n workflow: [\n \"Assess the location and market pricing for current facilities.\",\n \"Compare potential alternative locations with lower rental costs.\",\n \"Calculate the cost of moving versus long-term savings.\",\n \"If applicable, explore consolidating offices into a single, more cost-efficient location.\",\n \"Develop a relocation or consolidation plan and timeline.\"\n ]\n }\n ],\n },\n {\n title: \"Long-Term Strategic Planning\",\n displayTasks: true,\n objective: \"\",\n tasks: [\n {\n name: \"Incorporate Rent & Facility Costs into Strategic Forecasting\",\n description: \"Build long-term rent and facility costs into the client’s financial forecasting model to ensure sustainability. Factor in expected rent increases, utilities, and maintenance costs over time.\"\n },\n {\n name: \"Scenario Analysis\",\n description: \"Run different scenarios, such as rent increases or potential economic downturns, to assess the impact on overall business performance.\"\n },\n {\n name: \"Recommendation: Ongoing Monitoring and Adjustments\",\n description: \"Recommend ongoing review and forecasting adjustments as market conditions change.\"\n },\n {\n name: \"Strategic Planning Workflow:\",\n workflow: [\n \"Build rent and facility costs into the client’s financial forecasts.\",\n \"Run “what-if” scenarios for future rent increases or business growth.\",\n \"Schedule regular reviews of these forecasts to ensure they align with business goals.\",\n \"Make adjustments as market conditions or business needs evolve.\"\n ]\n }\n ],\n },\n ],\n summary: \"\"\n },\n {\n id: 14,\n title: \"Revenue Growth\",\n sections: [\n {\n title: \"Assess Product/Service Offering\",\n displayTasks: true,\n objective: \"Ensure the client’s products or services are aligned with market demands and capable of driving revenue growth.\",\n tasks: [\n {\n name: \"Evaluate Product/Service Relevance\",\n description: \"Analyze whether the client’s current offerings meet the changing needs and preferences of the market. Identify any gaps in their product or service lineup.\"\n },\n {\n name: \"Expand or Diversify Offerings\",\n description: \"Determine if the client should introduce new products, services, or enhancements to capture more market share or increase revenue per customer.\"\n },\n {\n name: \"Product/Service Offering Workflow:\",\n workflow: [\n \"Review the client’s current product or service lineup, assessing whether each offering aligns with market trends and customer demands.\",\n \"Identify opportunities to diversify or enhance offerings, such as adding premium services or complementary products.\",\n \"Collaborate with the client’s product development or service teams to implement the changes.\",\n \"Monitor customer feedback and sales data to track the impact of new offerings on revenue growth.\"\n ]\n }\n ],\n },\n {\n title: \"Review Pricing Strategy\",\n displayTasks: true,\n objective: \"Optimize the client’s pricing strategy to maximize revenue without alienating customers.\",\n tasks: [\n {\n name: \"Evaluate Current Pricing Structure\",\n description: \"Analyze the client’s current pricing model (e.g., cost-based, value-based) and compare it to industry peers. Assess whether prices are too low or too high relative to competitors and customer expectations.\"\n },\n {\n name: \"Test Pricing Adjustments\",\n description: \"Consider implementing price adjustments, such as bundling, tiered pricing, or subscription models, to capture more value from customers.\"\n },\n {\n name: \"Pricing Strategy Workflow:\",\n workflow: [\n \"Review the client’s existing pricing structure and compare it with industry standards to assess competitiveness.\",\n \"Evaluate customer sensitivity to pricing and whether a price increase or discount strategy would drive demand.\",\n \"Test pricing adjustments (e.g., introduce bundles, tiered pricing) on select products or services.\",\n \"Measure the impact on sales and customer satisfaction, making further adjustments as necessary.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Sales Performance\",\n displayTasks: true,\n objective: \"Ensure the client’s sales team and processes are optimized to drive revenue growth.\",\n tasks: [\n {\n name: \"Assess Sales Team Effectiveness\",\n description: \"Review sales team performance metrics such as conversion rates, sales cycle length, and individual productivity. Identify any bottlenecks in the sales process that may be slowing revenue growth.\"\n },\n {\n name: \"Provide Sales Training and Tools\",\n description: \"Implement targeted training programs for the sales team to enhance their ability to close deals, upsell, and cross-sell. Equip them with the right tools, such as customer relationship management (CRM) software.\"\n },\n {\n name: \"Sales Performance Workflow:\",\n workflow: [\n \"Analyze sales performance metrics, focusing on key areas like win rates, average deal size, and time to close.\",\n \"Identify top-performing salespeople and examine their best practices for potential training opportunities.\",\n \"Conduct training workshops focused on improving negotiation, objection handling, and cross-selling techniques.\",\n \"Implement or optimize sales tools (e.g., CRM) to streamline processes and provide better tracking of sales pipeline progress.\",\n \"Track improvements in sales performance and assess the impact on revenue growth.\"\n ]\n }\n ],\n },\n {\n title: \"Focus on Customer Retention\",\n displayTasks: true,\n objective: \"Increase customer retention rates, as retaining existing customers is often more cost-effective than acquiring new ones.\",\n tasks: [\n {\n name: \"Analyze Churn Rates\",\n description: \"Examine customer churn to understand why clients are leaving. Focus on improving customer satisfaction and loyalty through better service or product quality.\"\n },\n {\n name: \"Implement Loyalty Programs\",\n description: \"Introduce customer loyalty programs or subscription models to increase recurring revenue and reduce churn.\"\n },\n {\n name: \"Customer Retention Workflow:\",\n workflow: [\n \"Review churn data and customer feedback to identify common reasons for customer loss.\",\n \"Implement retention strategies such as improving customer service, enhancing product quality, or introducing loyalty incentives (e.g., discounts, rewards).\",\n \"Develop a customer feedback loop to continuously gather insights and make necessary improvements.\",\n \"Track churn rates and customer lifetime value (CLV) to measure the effectiveness of retention efforts.\",\n \"Adjust loyalty programs based on customer response and overall impact on recurring revenue.\"\n ]\n }\n ],\n },\n {\n title: \"Expand Market Reach\",\n displayTasks: true,\n objective: \"Explore opportunities to expand into new markets or customer segments to drive additional revenue.\",\n tasks: [\n {\n name: \"Identify New Markets or Segments\",\n description: \"Analyze potential markets (e.g., geographic regions, customer demographics, or industry verticals) where the client’s offerings may have untapped potential.\"\n },\n {\n name: \"Develop Market Entry Strategies\",\n description: \"Create a plan to enter new markets, such as adjusting marketing strategies, establishing partnerships, or adapting product features to meet the needs of the new market.\"\n },\n {\n name: \"Market Expansion Workflow:\",\n workflow: [\n \"Conduct market research to identify new customer segments or geographic markets that have strong growth potential.\",\n \"Evaluate the feasibility of market entry, considering factors such as competition, regulatory environment, and customer needs.\",\n \"Develop tailored marketing and sales strategies to target these new markets or customer segments.\",\n \"Launch pilot programs in the new market and gather data on customer acquisition and conversion rates.\",\n \"Scale up market expansion efforts based on initial success and measured revenue growth.\"\n ]\n }\n ],\n },\n {\n title: \"Optimize Marketing and Lead Generation\",\n displayTasks: true,\n objective: \"Enhance marketing efforts to generate more high-quality leads that can convert into paying customers.\",\n tasks: [\n {\n name: \"Evaluate Current Marketing Channels\",\n description: \"Review the client’s current marketing efforts, including digital channels, content marketing, and advertising, to determine their effectiveness.\"\n },\n {\n name: \"Increase Lead Generation Tactics\",\n description: \"Implement new lead generation strategies, such as inbound marketing, paid ads, and social media campaigns, to attract more potential customers.\"\n },\n {\n name: \"Marketing Optimization Workflow:\",\n workflow: [\n \"Review existing marketing efforts to identify underperforming channels or campaigns.\",\n \"Analyze customer acquisition costs (CAC) and determine the ROI of each marketing channel.\",\n \"Experiment with different lead generation strategies (e.g., SEO, PPC, email campaigns) to see what drives higher-quality leads.\",\n \"Adjust the marketing budget based on performance, allocating more resources to high-ROI activities.\",\n \"Track lead generation and conversion rates, and refine the strategy based on data.\"\n ]\n }\n ],\n },\n {\n title: \"Innovate Business Model\",\n displayTasks: true,\n objective: \"Explore new business models or revenue streams that can help the client stay competitive and drive growth.\",\n tasks: [\n {\n name: \"Assess Current Business Model\",\n description: \"Evaluate whether the client’s current business model is still effective in capturing market share. Explore alternative models such as subscription services, digital transformation, or strategic partnerships.\"\n },\n {\n name: \"Test New Revenue Streams\",\n description: \"Pilot new business initiatives, such as introducing a digital product, offering consulting services, or launching a SaaS model, to diversify revenue sources.\"\n },\n {\n name: \"Business Model Innovation Workflow:\",\n workflow: [\n \"Review the client’s current business model to identify potential gaps or inefficiencies.\",\n \"Brainstorm new revenue streams or business models that could drive additional growth (e.g., subscription, B2B partnerships).\",\n \"Conduct market research to validate the feasibility of these new business models.\",\n \"Run pilot tests for new initiatives, track customer interest, and measure profitability.\",\n \"Scale successful pilots and integrate them into the core business model for sustained growth.\"\n ]\n }\n ],\n },\n {\n title: \"Improve Customer Acquisition Strategies\",\n displayTasks: true,\n objective: \"Ensure that the client is attracting new customers efficiently and at a lower cost relative to competitors.\",\n tasks: [\n {\n name: \"Review Customer Acquisition Channels\",\n description: \"Examine the cost and effectiveness of different customer acquisition channels, such as paid media, content marketing, and referrals.\"\n },\n {\n name: \"Enhance Acquisition Efforts\",\n description: \"Optimize existing channels or test new ones to improve the quality and quantity of customer acquisition.\"\n },\n {\n name: \"Customer Acquisition Workflow:\",\n workflow: [\n \"Analyze the current customer acquisition channels and determine the CAC for each.\",\n \"Compare the CAC to industry averages and explore methods to reduce acquisition costs without sacrificing lead quality.\",\n \"Introduce referral programs, influencer partnerships, or strategic alliances to lower acquisition costs.\",\n \"Continuously track and optimize acquisition strategies, focusing on channels that deliver the highest return.\",\n \"Measure the overall impact on new customer growth and adjust acquisition strategies accordingly.\"\n ]\n }\n ],\n },\n {\n title: \"Track KPIs and Adjust Strategies\",\n displayTasks: true,\n objective: \"Implement a system for ongoing tracking of revenue growth metrics to ensure that strategies are working effectively.\",\n tasks: [\n {\n name: \"Set Key Performance Indicators (KPIs)\",\n description: \"Identify key revenue growth metrics such as sales growth, customer lifetime value, customer acquisition cost, and gross margin.\"\n },\n {\n name: \"Regularly Monitor and Adjust Strategies\",\n description: \"Establish regular review periods (e.g., monthly, quarterly) to assess the impact of implemented strategies on revenue growth. Adjust the strategies based on performance.\"\n },\n {\n name: \"KPI Tracking Workflow:\",\n workflow: [\n \"Define KPIs relevant to revenue growth, including sales, churn rates, average deal size, and customer lifetime value.\",\n \"Set up a dashboard to track these metrics in real-time.\",\n \"Review performance on a regular basis (e.g., monthly) and compare progress against industry benchmarks.\",\n \"Adjust strategies based on KPIs that show underperformance, ensuring that revenue growth initiatives are continually optimized.\",\n \"Present quarterly reviews to the client to provide insights on progress and necessary adjustments.\",\n ]\n }\n ],\n },\n ],\n summary: \"By following this comprehensive workflow, you can help your client identify and address the key factors hindering their revenue growth. This strategic approach will provide a clear path to align their business performance with industry growth and ensure sustainable revenue generation.\"\n },\n // {\n // id: 15,\n // title: \"\",\n // sections: [\n // {\n // title: \"\",\n // \n // displayTasks: true,\n // objective: \"\",\n // tasks: [\n // {\n // name: \"\",\n // description: \"\"\n // },\n // {\n // name: \"\",\n // description: \"\"\n // },\n // {\n // name: \"\",\n // workflow: [\n // ]\n // }\n // ],\n // },\n // ],\n // summary: \"\"\n // },\n]\n\nexport default workflows;","import React, { useState, useRef, useEffect } from \"react\";\nimport peerviewLogoCircle from '../../assets/images/peerview-data-logo-white-small.png';\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCircleQuestion } from '@fortawesome/free-regular-svg-icons';\nimport { faBell, faDiagramProject, faGear, faCaretDown, faMagnifyingGlass, faMap, faCircleArrowRight, faCircleArrowLeft, faBook, faChartPie, faFileLines, faIndustry, faShield, faUser } from \"@fortawesome/free-solid-svg-icons\";\nimport VideoModal from \"./VideoModal\";\nimport Modal from 'react-modal';\nimport NewUserForm from './NewUserForm';\nimport workflows from \"./workflows/workflow_data\";\n\nconst TopNavbar = (props) => {\n const [searchQuery, setSearchQuery] = useState('');\n const [debouncedQuery, setDebouncedQuery] = useState('');\n const [displayUserMenu, setDisplayUserMenu] = useState(false)\n const [searchResults, setSearchResults] = useState(\n {\n display: false,\n isLoading: false,\n results: [],\n admin_results: []\n }\n )\n const [addNew, setAddNew] = useState(false)\n const [activePopover, setActivePopover] = useState(null);\n const [expandNavbar, setExpandNavbar] = useState(false)\n const [modalReport, setModalReport] = useState(\"money\");\n const [videoModalOpen, setVideoModalOpen] = useState(false);\n const [newUserModalOpen, setNewUserModalOpen] = useState(false);\n const [newUserFormData, setNewUserFormData] = useState({\n all_companies: [],\n email_ends: [],\n filter_options_obj: {},\n })\n const modalRef = useRef(null);\n const buttonRef = useRef(null);\n\n const workFlowSections = [\n {\n title: \"Growth\",\n linkIds: [14]\n },\n {\n title: \"Profitability\",\n linkIds: [2, 5, 8, 9, 10, 11, 13]\n },\n {\n title: \"Liquidity\",\n linkIds: [4, 7]\n },\n {\n title: \"Leverage\",\n linkIds: [8, 12]\n },\n {\n title: \"Cash Flow\",\n linkIds: [1, 4, 8]\n },\n {\n title: \"Activity\",\n linkIds: [3, 4, 6]\n },\n ]\n\n\n const openVideoModal = (reportVal) => {\n setModalReport(reportVal)\n setVideoModalOpen(true);\n }\n\n const closeVideoModal = () => {\n setVideoModalOpen(false);\n }\n\n const hrefBuilder = (subdomain, path) => {\n const domainSplit = document.location.host.split('.');\n domainSplit[0] = subdomain;\n return location.protocol + '//' + domainSplit.join('.') + path;\n };\n\n const toggleNavbar = () => {\n setExpandNavbar(!expandNavbar);\n };\n\n const handleMouseEnter = (item) => {\n setActivePopover(item);\n };\n\n const handleMouseLeave = (item) => {\n if (item === 'leave') {\n setActivePopover(null);\n }\n };\n\n useEffect(() => {\n // Define the click handler\n const handleClickAnywhere = (event) => {\n\n if (\n modalRef.current &&\n !modalRef.current.contains(event.target) &&\n buttonRef.current &&\n !buttonRef.current.contains(event.target)\n ) {\n setDisplayUserMenu(false);\n }\n };\n\n // Add event listener to document\n document.addEventListener('click', handleClickAnywhere);\n\n // Clean up the event listener on component unmount\n return () => {\n document.removeEventListener('click', handleClickAnywhere);\n };\n }, []);\n\n\n useEffect(() => {\n // Set up the debouncer with a delay (e.g., 500ms)\n const handler = setTimeout(() => {\n setDebouncedQuery(searchQuery);\n }, 1000); // Adjust the delay as needed\n\n // Clear the timeout if searchQuery changes (user is still typing)\n return () => {\n clearTimeout(handler);\n };\n }, [searchQuery]); // Run the effect when searchQuery changes\n\n useEffect(() => {\n // Define the async function to perform the search\n const fetchSearchData = async () => {\n if (debouncedQuery) {\n setSearchResults(prevState => {\n return {\n ...prevState,\n isLoading: true,\n }\n })\n\n try {\n const response = await fetch(`/api/v1/company_search/?term=${debouncedQuery}`);\n\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n\n const data = await response.json();\n\n setSearchResults(prevState => {\n return {\n ...prevState,\n isLoading: false,\n results: data.firm_results,\n admin_results: data.admin_results\n }\n })\n // Handle the results (e.g., update state with the results)\n } catch (error) {\n console.error('There was a problem', error);\n }\n }\n };\n\n // Call the async function\n fetchSearchData();\n }, [debouncedQuery]); // Run the effect when debouncedQuery changes\n\n const handleNewUserFormData = async () => {\n try {\n const response = await fetch(`/user_permissions_info`);\n\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n\n const data = await response.json();\n setNewUserFormData(data)\n setNewUserModalOpen(true)\n // Handle the results (e.g., update state with the results)\n } catch (error) {\n console.error('There was a problem', error);\n }\n }\n\n const openSearchResults = () => {\n setSearchResults(prevState => {\n return {\n ...prevState,\n display: true\n }\n })\n }\n\n const closeSearchResults = () => {\n setSearchResults(prevState => {\n return {\n ...prevState,\n display: false,\n isLoading: false\n }\n })\n }\n\n const handleInputChange = (e) => {\n setSearchQuery(e.target.value);\n }\n // let newUserLink = hrefBuilder(props.parent_subdomain, '/clients/new')\n // Check for different Users\n let newCompanyLink = hrefBuilder(props.parent_subdomain, '/admin/companies/new')\n\n let userDashboardLink = props.isAdminView ? hrefBuilder('app', '') : hrefBuilder(props.parent_subdomain, '/dashboard')\n let manageFirmLink = hrefBuilder(props.parent_subdomain, '/manage_firm')\n let notificationLink = hrefBuilder(props.parent_subdomain, '/notifications')\n let profileLink = hrefBuilder(props.parent_subdomain, '/users/edit')\n let exportsLink = hrefBuilder(props.child_subdomain, '/exports')\n let manageSubscriptionsLink = hrefBuilder(props.parent_subdomain, '/subscriptions')\n let controlPanelLink = hrefBuilder(props.parent_subdomain, '/admin/control_panel')\n let signOutLink = hrefBuilder('app', '/users/sign_out')\n\n let moneyLink = hrefBuilder(props.child_subdomain, '/reports/money')\n let peopleLink = hrefBuilder(props.child_subdomain, '/reports/people')\n let customersLink = hrefBuilder(props.child_subdomain, '/reports/customers')\n let forecastLink = hrefBuilder(props.child_subdomain, '/reports/monthly/forecast')\n let mappingLink = hrefBuilder(props.child_subdomain, '/mapping_approvals/new')\n\n let superAdminLink = hrefBuilder('app', '')\n let superCompaniesLink = hrefBuilder('app', '/admin/companies')\n let superParentCompaniesLink = hrefBuilder('app', '/admin/parent_companies')\n let superNaicsLink = hrefBuilder('app', '/admin/naicses')\n let superOpsLink = hrefBuilder('app', '/admin/ops')\n let superDashBoardEditorLink = hrefBuilder('app', '/admin/dashboard_views')\n\n let parentAdminLink = hrefBuilder(props.parent_subdomain, '/clients')\n let childAdminLink = hrefBuilder(props.child_subdomain, '/clients')\n\n let manageClientsLink = hrefBuilder(props.parent_subdomain, '/companies')\n let resourcesLink = 'https://www.peerviewdata.com/resources-page'\n let practiceLink = hrefBuilder(props.parent_subdomain, '/group_reports/practice')\n let industryLink = hrefBuilder(props.parent_subdomain, '/reports/industry')\n\n const reportLinkBuilder = (currentReport, planAccess) => {\n let reportName = currentReport === 'Audit' ? 'Audit (Beta)' : currentReport\n let reportNameLowerCase = currentReport.toLowerCase().replace(/\\s/g, \"\")\n let reportLink = currentReport === 'Forecast' ? `/reports/monthly/${reportNameLowerCase}` : `/reports/${reportNameLowerCase}`\n\n if (currentReport === 'Practice') {\n\n if (props.user_type === 'Admin' || planAccess) {\n return (\n Practice\n )\n } else {\n return (\n openVideoModal(reportNameLowerCase, planAccess)}>Practice\n )\n }\n }\n\n if (currentReport === 'Industry') {\n\n if (props.user_type === 'Admin' || planAccess) {\n return (\n Industry\n )\n } else {\n return (\n openVideoModal(reportNameLowerCase, planAccess)}>Industry\n )\n }\n }\n\n // Freemium can only access Money report and can't use report credits\n if (props.user_type !== 'Admin' && !planAccess || (props.user_type !== 'Admin' && planAccess && !props.reports_unlocked)) {\n return (\n openVideoModal(reportNameLowerCase, planAccess)}>{reportName}\n )\n }\n\n // Let Admin access everything OR non-Admin, non-free plans, and unlocked reports\n if (props.user_type === 'Admin' || (props.user_type !== 'Admin' && planAccess && props.reports_unlocked)) {\n return (\n {reportName}\n )\n }\n }\n\n const resultsTable = (firmResults = true) => {\n let sResults = firmResults ? searchResults.results : searchResults.admin_results\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {sResults.map(r => {\n let reportLink = firmResults ? hrefBuilder(r.subdomain, '/reports') : hrefBuilder(r.subdomain, '/companies')\n let mapLink = r.parent_id ? hrefBuilder(r.subdomain, '/mapping_approvals/new') : null\n return (\n \n \n \n \n \n \n \n \n \n \n )\n })}\n \n
Client IDClient NameMap FileNAICSPartnerOfficeStateStatus
\n {r.name}\n \n {r.real_name}\n \n {mapLink ? : null}\n \n {r.naics_code}\n \n {r.partners}\n \n {r.office}\n \n {r.state}\n \n {r.status}\n
\n )\n }\n\n const closeNewUserModal = () => {\n setNewUserModalOpen(false)\n }\n // {reportLinkBuilder('People', props.plan_type_access.people)}\n // {reportLinkBuilder('Customers', props.plan_type_access.customers)}\n\n return (\n <>\n {props.isAdminView\n ? null\n : (\n \n )\n }\n \n
\n \n \n \n

New User

\n
\n \n \n
\n
\n \n \"Peerview\n \n {!props.single_company_client_user\n ? (\n
\n
\n \n openSearchResults()}\n onChange={(e) => handleInputChange(e)}\n />\n
\n
\n {props.isAdminView ? null : }\n {\n addNew && (
\n \n
)\n }\n
\n
\n )\n : null\n }\n
\n {props.isAdminView\n ?
Super Admin Portal
\n :
{props.company_type === 'client' && props.company_real_name ? `Viewing Client: ${props.company_name}, ${props.company_real_name}` : props.company_type === 'client' ? `Viewing Client: ${props.company_name}` : ''}
\n }\n \n {\n searchResults.display && (
\n
\n
\n Search Your Clients\n
\n {props.user_type === 'Admin' && searchResults.admin_results.length > 0\n ?
\n Admin Results\n {resultsTable(false)}\n
\n : null\n }\n {\n searchResults.results.length > 0\n ?\n
\n Results\n {resultsTable(true)}\n
\n : null\n }\n
\n
\n
)\n }\n
\n
\n
\n }\n {props.isAdminView\n ? (
  • \n handleMouseEnter('admin-links')}\n onMouseLeave={() => handleMouseLeave(null)}\n >\n \n Admin Links\n {activePopover === 'admin-links' && (\n
    handleMouseEnter('admin-links')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n {props.user_type === 'Admin' ? Super Admin Portal : null}\n All Companies\n Parent Companies\n NAICS\n Ops View\n Admin Reports Editor\n
    \n )}\n \n
  • )\n : null\n }\n {!props.isAdminView && !props.single_company_client_user\n ?\n (
  • \n handleMouseEnter('admin-portals')}\n onMouseLeave={() => handleMouseLeave(null)}\n >\n \n Admin Portals\n {activePopover === 'admin-portals' && (\n
    handleMouseEnter('admin-portals')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n {props.user_type === 'Admin' ? Super Admin Portal : null}\n {props.parent_company_name} Admin Portal\n {props.company_type === 'client' && {props.company_name} Admin Portal}\n
    \n )}\n \n
  • )\n : null}\n {!props.single_company_client_user ?
    : null}\n {\n !props.isAdminView\n ? <>\n {!props.single_company_client_user\n ? (
  • \n handleMouseEnter('Manage Clients')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n \n Manage Clients\n {activePopover === 'Manage Clients' && !expandNavbar && (\n
    \n Manage Clients\n
    \n )}\n \n
  • )\n : null}\n {!props.single_company_client_user\n ? (
  • \n handleMouseEnter('Practice')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n {reportLinkBuilder('Practice', props.plan_type_access.practice)}\n {activePopover === 'Practice' && !expandNavbar && (\n
    \n Practice Report\n
    \n )}\n \n
  • )\n : null}\n {!props.single_company_client_user\n ? (\n
  • \n handleMouseEnter('Industry')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n {reportLinkBuilder('Industry', props.plan_type_access.industry)}\n {activePopover === 'Industry' && !expandNavbar && (\n
    \n Industry Report\n
    \n )}\n \n
  • \n )\n : null}\n \n : null\n }\n
  • \n handleMouseEnter('Resources')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n \n Resources\n {activePopover === 'Resources' && !expandNavbar && (\n
    \n Resources\n
    \n )}\n \n
  • \n {!props.isAdminView &&
  • \n handleMouseEnter('Workflows')}\n onMouseLeave={() => handleMouseLeave(null)}\n >\n \n Workflows\n {activePopover === 'Workflows' && (\n
    handleMouseEnter('Workflows')}\n onMouseLeave={() => handleMouseLeave('leave')}\n >\n Workflows\n {\n workFlowSections.map(s => {\n return (\n <>\n
    {s.title}
    \n
      \n {\n s.linkIds.map(id => {\n let link = hrefBuilder(props.parent_subdomain, `/workflows/${id}`)\n let workFlow = workflows.find(w => w.id === id)\n return
    • {workFlow.title}
    • \n })\n }\n
    \n \n )\n })\n }\n
    \n )}\n \n
  • }\n
  • \n
    \n toggleNavbar()} className='menu-icon' />\n
    \n
  • \n \n \n \n \n )\n}\n\nexport default TopNavbar","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faIdCard, faEdit, faFileExcel, faFilePdf } from '@fortawesome/free-regular-svg-icons';\nimport { faCheck, faKey, faSlidersH } from '@fortawesome/free-solid-svg-icons';\n\nconst reactourSteps = (page, tourData = {}) => {\n let tourTaken = tourData.tour_taken\n let newFeaturesMoneyTaken = tourData.new_features_tour_taken\n\n const endTour = (newFeature = false) => {\n if (!tourTaken) {\n let tourType = page !== 'money' && page !== 'people' && page !== 'customers' ? page : 'reports';\n fetch(`/api/v1/tour/end_tour/${tourData.tracker_id}`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ type: tourType })\n });\n }\n\n if (newFeature && !newFeaturesMoneyTaken && page === 'money') {\n fetch(`/api/v1/tour/end_tour/${tourData.tracker_id}`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ type: 'new_features_money_taken' })\n });\n }\n };\n\n if (page === 'map file') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    Welcome to the Mapping page!

    \n

    Here you will map your file's rows to the appropriate accounts for each of your clients in order to generate their reports.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '.company-header',\n content: () => (

    Here's quick information about the client you are working on.

    )\n },\n {\n selector: '.select-document',\n content: () => (

    The file's name you are viewing and mapping is here. You can change which file uploads to use with this dropdown menu.

    )\n },\n {\n selector: '#hist-button',\n content: () => (\n
    \n

    This button shows and hides the rows of your file.

    \n

    When you upload new files for a client, new rows will display first, and you can click this button to display older rows too.

    \n
    \n )\n },\n {\n selector: '.mapper-table-header',\n content: () => (\n
    \n

    Each row's information and year values are organized into these columns.

    \n

    \n Historical, Best Match, and Alternatives will give you suggested accounts to map to. You can click on any of these suggestions to map to your Final account choice.\n

    \n

    Final account cells have dropdowns menus to select any account you find more appropiate.

    \n

    They also have a little square in the bottom right hand corner that can be clicked and dragged to cells above and below to map them to the same accounts and save time.

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#mapper-nav-tabs',\n content: () => (

    Here you can preview your Balance Sheet and Profit & Loss with these tabs.

    )\n },\n {\n selector: '#recalculate-btn',\n content: () => (\n
    \n

    Before clicking Generate Reports, you want to make sure the green check mark right next to it is fully visible .

    \n

    If the check mark is faded out , then it means the Balance Sheet is out of balance.

    \n

    Click the Recalculate button to run calculations based off any of your mapping changes. Once the check mark is fully green you will be good to go!

    \n
    \n )\n },\n\n {\n selector: '.submit-mapping-button',\n content: () => (

    When you are finished mapping accounts and the check mark is fully green and visible , click Generate Reports and you will be redirected to the reports page when everything is completed!

    )\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'manageClients') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    Welcome to the Manage Clients page!

    \n

    This page will serve as command central for your firm's portal. It's where your client portals are created, data is uploaded, and reports accessed.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '.report-credits',\n content: () => (

    Here indicates how many report credits you still have available. One credit unlocks a client's report suite.

    )\n },\n {\n selector: '.new-client-btn',\n content: () => (\n
    \n

    Use this button to quickly add one client to the portal.

    \n

    You'll need to know their Client ID, their 6-digit NAICS code, the state where they are located, the partner that leads the engagement, and the office that services them.

    \n
    \n )\n },\n {\n selector: '.bulk-upload-btn',\n content: () => (

    Use this feature to easily upload 2 or more clients using the template provided.

    )\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n

    The Filters live here. The Filters allow you to sort and display your clients.

    \n
    \n )\n },\n {\n selector: '.first-table-btn',\n content: () => (

    Try clicking this button to open up the Details drawer for your client!

    ),\n highlightedSelectors: ['.overlay-base, .client-modal-content'],\n mutationObservables: ['.overlay-base, .client-modal-content'],\n },\n {\n selector: '#company-modal-edit-tab',\n content: () => (

    Once opened, you can edit and save the client's information.

    ),\n position: 'left'\n },\n {\n selector: '.import-file-modal-btn',\n content: () => (

    You can upload trial balances in Excel from any tax/audit/accounting software package by clicking the Import Trial Balance button.

    )\n },\n {\n selector: '.map-file-link-modal-btn',\n content: () => (

    Once your file or accounting software is done uploading data, you will be able to map the data to Peerview Data's chart of accounts.

    )\n },\n {\n selector: '.report-link-modal-btn',\n content: () => (

    After the data is completely mapped, you will be able to view the reports for your client.

    )\n },\n {\n selector: '.connect-to-btns-container',\n content: () => (

    You can connect to an accounting software such as QuickBooks Online here.

    )\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'money') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    This Money report is created from your client's trial balance. It's where every conversation will start.

    \n

    You'll be able to see how they're doing, how they're going against their peers, and identify opportunities for improvement.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#sticky-topnav-left-btns',\n content: () => (\n
    \n
      \n
    • Enables you to export to Excel
    • \n
    • Enables you to print or export to PDF
    • \n
    \n
    \n )\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n

    The Filters live here. Give this button a click!

    \n
    \n )\n },\n {\n selector: '.money-dropdown-container',\n content: () => (\n
    \n

    The Filters allow you to customize the timeline and comparative data based on your client's data and the purpose of your meeting.

    \n

    Filters will only be active if there are 20 or more companies for comparison.

    \n
    \n )\n },\n {\n selector: '.naics-code-filter',\n content: () => (\n

    Industry will start at a 3-digit NAICS code level but often provides ability to get more detailed comparisons.

    \n )\n },\n {\n selector: '.revenue-band-filter',\n content: () => (\n
    \n

    There are three Revenue bands:

    \n
      \n
    • Under $10 million
    • \n
    • $10 to 100 million
    • \n
    • Over $100 million
    • \n
    \n
    \n )\n },\n {\n selector: '.region-filter',\n content: () => (\n
    \n

    There are four geographic Regions:

    \n
      \n
    • Northeast
    • \n
    • Midwest
    • \n
    • South
    • \n
    • West
    • \n
    \n
    \n )\n },\n {\n selector: '.display-columns-filter',\n content: () => (\n

    Years is the default display. However, if you've connected your client's QuickBooks Online account, you'll also have access to the Months option.

    \n )\n },\n {\n selector: '.report-period-filter',\n content: () => (\n

    Choose the Report Period of data you would like displayed based on the data you've loaded for your client or based on the use case.

    \n )\n },\n {\n selector: '.compare-with-filter',\n content: () => (\n
    \n

    For annual reports, you'll compare with peers.

    \n

    For monthly reports, you can choose between peers or with their own year-over-year data.

    \n
    \n )\n },\n {\n selector: '.year-filter',\n content: () => (\n

    Comparative Peer data is always shown by the Calendar Year. Here you can choose the last year to be displayed. A client with a Fiscal Year End will always be compared to the previous calendar year end dataset.

    \n )\n },\n {\n selector: '.run-report-btn',\n content: () => (\n

    After selecting your filters, you will click the Run Report button to display the new data.

    \n )\n },\n {\n selector: '#nav-tabs-money-report',\n content: () => (\n

    Much like Excel, you can switch between the tabs to view different report elements.

    \n )\n },\n {\n selector: '#pnl-tab',\n content: () => (\n
    \n

    The Profit & Loss tab will show your client's P&L, the common sized values, and their peers' common sized values.

    \n

    Green \"up\" arrows indicate where your client is better than their peers by 5% or more.

    \n

    Red \"down\" arrows indicate where your client is worse than their peers by 5% or more..

    \n
    \n )\n },\n {\n selector: '#balance-sheet-tab',\n content: () => (\n

    Balance Sheet is much the same as the P&L

    \n )\n },\n {\n selector: '#cash-flow-tab',\n content: () => (\n

    Cash Flow is calculated from the P&L and Balance Sheet, the report is setup like a standard cash flow statement using operating, investing, and financing categories.

    \n )\n },\n {\n selector: '#kfis-tab',\n content: () => (\n

    Key Financial Indicators (KFI's) are a series of ratios and metrics that apply to most businesses.

    \n )\n },\n {\n selector: '.edit-metrics-cell',\n content: () => (\n
    \n

    On all the report sheets you will see a pencil icon.

    \n

    When you click on it, you can directly click on line items on the sheet that you would like to focus on for your client.

    \n

    After clicking on a line, a check mark ✔ will appear beside the metric's name.

    \n

    Ex. ✔ Revenue.

    \n

    Metrics that appear more than once on the other sheets or any related metrics will also be checked for you.

    \n

    Also checked metrics will display related charts and items on your client's dashboard.

    \n

    Make sure to save your selections by clicking on the save icon right where the pencil used to be.

    \n
    \n )\n },\n {\n selector: '#dashboard-tab',\n content: () => (\n
    \n

    Dashboard allows you to customize what charts and graphs you want to view the data.

    \n

    You can Reorder and Resize the items to display what you want, the way that you want, and save the layout.

    \n

    Use the menu icon in the top right corner of some of the cards to export or print just that graphic. They can be really useful for inclusion in audit reports, financial statements, or other management documents.

    \n

    Try clicking on this tab to check it out!

    \n
    \n ),\n highlightedSelectors: ['.react-grid-layout'],\n mutationObservables: ['.react-grid-layout'],\n position: 'top'\n },\n {\n selector: '.edit-dashboard-btn',\n content: () => (\n
    \n

    The Dashboard is completely curatable for each client.

    \n

    Turn on/off any of the charts/graphs.

    \n

    You can also check which metrics you want to focus on from all the sheets here.

    \n

    Save the format at the end of your session to come back to the same display next visit!

    \n
    \n ),\n },\n {\n selector: '#survey-tab',\n content: () => (\n
    \n

    The Survey tab is where you can see your client's survey responses and compare them with peer responses.

    \n

    If you haven't taken the survey yet for the selected year, then the survey will pop up when you click on the tab.

    \n
    \n ),\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour(true)\n }\n ];\n }\n\n if (page === 'people' || page === 'customers') {\n let pageTitle = page === 'people' ? 'People' : 'Customers';\n let runReportBtnSelector = page === 'people' ? '.run-report-btn-people' : '.run-report-btn-customers';\n let navTabsSelector = page === 'people' ? '#nav-tabs-people-report' : '#nav-tabs-customers-report';\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    This {pageTitle} report is created from a combination of your client's trial balance data along with the survey data that they will need to provide.

    \n

    You'll be able to see how they're doing, how they're going against their peers, and identify opportunities for improvement.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#sticky-topnav-left-btns',\n content: () => (\n
    \n
      \n
    • Enables you to print or export to PDF
    • \n
    \n
    \n )\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n

    The Filters live here. Give this button a click!

    \n
    \n )\n },\n {\n selector: '.money-dropdown-container',\n content: () => (\n
    \n

    The Filters allow you to customize the timeline and comparative data based on your client's data and the purpose of your meeting.

    \n

    Filters will only be active if there are 20 or more companies for comparison.

    \n
    \n )\n },\n {\n selector: '.naics-code-filter',\n content: () => (\n

    Industry will start at a 3-digit NAICS code level but often provides ability to get more detailed comparisons.

    \n )\n },\n {\n selector: '.revenue-band-filter',\n content: () => (\n
    \n

    There are three Revenue bands:

    \n
      \n
    • Under $10 million
    • \n
    • $10 to 100 million
    • \n
    • Over $100 million
    • \n
    \n
    \n )\n },\n {\n selector: '.region-filter',\n content: () => (\n
    \n

    There are four geographic Regions:

    \n
      \n
    • Northeast
    • \n
    • Midwest
    • \n
    • South
    • \n
    • West
    • \n
    \n
    \n )\n },\n {\n selector: '.display-columns-filter',\n content: () => (\n

    Years is the default display. However, if you've connected your client's QuickBooks Online account, you'll also have access to the Months option.

    \n )\n },\n {\n selector: '.report-period-filter',\n content: () => (\n

    Choose the Report Period of data you would like displayed based on the data you've loaded for your client or based on the use case.

    \n )\n },\n {\n selector: '.compare-with-filter',\n content: () => (\n
    \n

    For annual reports, you'll compare with peers.

    \n

    For monthly reports, you can choose between peers or with their own year-over-year data.

    \n
    \n )\n },\n {\n selector: '.year-filter',\n content: () => (\n

    Comparative Peer data is always shown by the Calendar Year. Here you can choose the last year to be displayed. A client with a Fiscal Year End will always be compared to the previous calendar year end dataset.

    \n )\n },\n {\n selector: runReportBtnSelector,\n content: () => (\n

    After selecting your filters, you will click the Run Report button to display the new data.

    \n )\n },\n {\n selector: navTabsSelector,\n content: () => (\n

    Much like Excel, you can switch between the tabs to view different report elements.

    \n )\n },\n {\n selector: '#financial-detail-tab',\n content: () => (\n
    \n

    The Financial Detail tab will show your client's data, the common sized values, and their peers' common sized values.

    \n

    Green \"up\" arrows indicate where your client is better than their peers by 5% or more.

    \n

    Red \"down\" arrows indicate where your client is worse than their peers by 5% or more.

    \n
    \n )\n },\n {\n selector: '#kpi-tab',\n content: () => (\n

    Key Performance Indicators (KPI) are a series of ratios and metrics that apply to most businesses.

    \n )\n },\n {\n selector: '#summary-tab',\n content: () => (\n
    \n

    Summary provides some narrative explanations of how to improve underperforming metrics.

    \n

    The responses will be in one of five categories: within peer range, lower than, higher than, much lower than, and much higher than.

    \n
    \n )\n },\n {\n selector: '#dashboard-tab',\n content: () => (\n
    \n

    Dashboard allows you to customize what charts and graphs you want to view the data.

    \n

    You can Reorder and Resize the items to display what you want, the way that you want, and save the layout.

    \n

    Use the menu icon in the top right corner of some of the cards to export or print just that graphic. They can be really useful for inclusion in audit reports, financial statements, or other management documents.

    \n

    Try clicking on this tab to check it out!

    \n
    \n ),\n highlightedSelectors: ['.react-grid-layout'],\n mutationObservables: ['.react-grid-layout'],\n position: 'top'\n },\n {\n selector: '.edit-dashboard-btn',\n content: () => (\n

    The Dashboard is completely curatable for each client. Turn on/off any of the charts/graphs. Save the format at the end of your session to come back to the same display next visit!

    \n )\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'practice') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    This Practice report is created from all your clients' data.

    \n

    You'll be able to see how they're doing, how they're going against their peers, and identify opportunities for improvement.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#sticky-topnav-left-btns',\n content: () => (\n
    \n
      \n
    • Enables you to print or export to PDF
    • \n
    • Enables you to export to Excel
    • \n
    \n
    \n )\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n

    The Filters live here. Give this button a click!

    \n
    \n )\n },\n {\n selector: '.money-dropdown-filters',\n content: () => (\n
    \n

    The Filters allow you to customize the timeline and comparative data based on your clients' data and the purpose of your meeting.

    \n
    \n )\n },\n {\n selector: '.naics-code-filter',\n content: () => (\n

    Practice Reports start at 2-digit Industry groupings, enabling you to see all clients from the industries you serve. You can choose how broad or specific the group is that you want to analyze.

    \n )\n },\n {\n selector: '.revenue-band-filter',\n content: () => (\n
    \n

    There are three Revenue bands:

    \n
      \n
    • Under $10 million
    • \n
    • $10 to 100 million
    • \n
    • Over $100 million
    • \n
    \n
    \n )\n },\n {\n selector: '.region-filter',\n content: () => (\n
    \n

    There are four geographic Regions:

    \n
      \n
    • Northeast
    • \n
    • Midwest
    • \n
    • South
    • \n
    • West
    • \n
    \n
    \n )\n },\n {\n selector: '.partner-filter',\n content: () => (\n

    Display client data by Partner

    \n )\n },\n {\n selector: '.office-filter',\n content: () => (\n

    Display client data by Office location

    \n )\n },\n {\n selector: '.year-filter',\n content: () => (\n

    Comparative Peer data is always shown by the Calendar Year. Here you can choose the last year to be displayed.

    \n )\n },\n {\n selector: '.run-report-btn',\n content: () => (\n

    After selecting your filters, you will click the Run Report button to display the new data.

    \n )\n },\n {\n selector: '#nav-tabs-money-report',\n content: () => (\n

    Much like Excel, you can switch between the tabs to view different report elements.

    \n )\n },\n {\n selector: '#naics-analysis-tab',\n content: () => (\n

    Analyze your clients' data by NAICS codes. You can click on the pie chart or legend below the chart to drill down and view data for specific codes.

    \n )\n },\n {\n selector: '#client-analysis-tab',\n content: () => (\n
    \n

    Here you can view the Average values for all clients selected as well as values for each individual client that you serve within the selected industry.

    \n

    There's 2 tables to help keep your Submitted Clients and Unsubmitted Clients organized.

    \n

    You can also click on clients you want to focus on. A check mark will appear next to your client in the Focus column.

    \n

    On the Edit Dashboard pop up, you can select Focused Clients and a list of your focused clients will appear on the Dashboard.

    \n
    \n )\n },\n {\n selector: '#pnl-tab',\n content: () => (\n
    \n

    The Profit & Loss tab will show the average of all clients within the selected group, their common sized values, and their peers’ common sized values.

    \n
    \n )\n },\n {\n selector: '#balance-sheet-tab',\n content: () => (\n

    Balance Sheet is much the same as the P&L

    \n )\n },\n {\n selector: '#dashboard-tab',\n content: () => (\n
    \n

    Dashboard allows you to customize what charts and graphs you want to view the data.

    \n

    You can Reorder and Resize the items to display what you want, the way that you want, and save the layout.

    \n

    Use the menu icon in the top right corner of some of the cards to export or print just that graphic.

    \n

    Try clicking on this tab to check it out!

    \n
    \n ),\n highlightedSelectors: ['.react-grid-layout'],\n mutationObservables: ['.react-grid-layout'],\n position: 'top'\n },\n {\n selector: '.edit-dashboard-btn',\n content: () => (\n

    The Dashboard is completely curatable for each client. Turn on/off any of the charts/graphs. Save the format at the end of your session to come back to the same display next visit!

    \n ),\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'industry') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    This Industry report is created from all industry data by naics code.

    \n

    It's format is similar to the Money, People, and Customers Reports.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#sticky-topnav-left-btns',\n content: () => (\n
    \n
      \n
    • Enables you to print or export to PDF
    • \n
    \n
    \n )\n },\n {\n selector: '.industry-report-tabs',\n content: () => (\n
    \n

    As mentioned before, the format is similar to the Money, People, and Customers Reports.

    \n

    Each section has its own tabs and dashboards to view, edit, and save too.

    \n

    The filters will apply to all sections so you can switch between them with ease.

    \n
    \n ),\n position: 'bottom'\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n

    The Filters live here. Give this button a click!

    \n
    \n )\n },\n {\n selector: '.money-dropdown-filters',\n content: () => (\n
    \n

    The Filters allow you to customize the timeline and comparative data for the Money, People, and Customers sections.

    \n
    \n )\n },\n {\n selector: '.naics-code-filter',\n content: () => (\n

    Industry will start at a 3-digit NAICS code level but often provides ability to get more detailed comparisons.

    \n )\n },\n {\n selector: '.revenue-band-filter',\n content: () => (\n
    \n

    There are three Revenue bands:

    \n
      \n
    • Under $10 million
    • \n
    • $10 to 100 million
    • \n
    • Over $100 million
    • \n
    \n
    \n )\n },\n {\n selector: '.region-filter',\n content: () => (\n
    \n

    There are four geographic Regions:

    \n
      \n
    • Northeast
    • \n
    • Midwest
    • \n
    • South
    • \n
    • West
    • \n
    \n
    \n )\n },\n {\n selector: '.year-filter',\n content: () => (\n

    Comparative Peer data is always shown by the Calendar Year. Here you can choose the last year to be displayed.

    \n )\n },\n {\n selector: '.run-report-btn',\n content: () => (\n

    After selecting your filters, you will click the Run Report button to display the new data.

    \n )\n },\n {\n selector: '#nav-tabs-money-report',\n content: () => (\n
    \n

    Much like Excel, you can switch between the tabs to view different report elements.

    \n

    For the purpose of this tour, we will take you through the Money tabs.

    \n

    The People and Customers sections have Financial Detail, Key Performance Indicators (KPI), and Dashboard tabs.

    \n
    \n )\n },\n {\n selector: '#pnl-tab',\n content: () => (\n
    \n

    The Profit & Loss tab will show common sized values.

    \n
    \n )\n },\n {\n selector: '#balance-sheet-tab',\n content: () => (\n

    Balance Sheet is much the same as the P&L

    \n )\n },\n {\n selector: '#kfis-tab',\n content: () => (\n

    Key Financial Indicators (KFI's) are a series of ratios and metrics that apply to most businesses.

    \n )\n },\n {\n selector: '#dashboard-tab',\n content: () => (\n
    \n

    Dashboard tab allows you to customize what charts and graphs you want to view the data in each section.

    \n

    You can Reorder and Resize the items to display what you want, the way that you want, and save the layout.

    \n

    Use the menu icon in the top right corner of some of the cards to export or print just that graphic.

    \n

    Try clicking on this tab to check it out!

    \n
    \n ),\n highlightedSelectors: ['.react-grid-layout'],\n mutationObservables: ['.react-grid-layout'],\n position: 'top'\n },\n {\n selector: '.edit-dashboard-btn',\n content: () => (\n

    The Dashboard is completely curatable for each client. Turn on/off any of the charts/graphs. Save the format at the end of your session to come back to the same display next visit!

    \n ),\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'forecast') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    Welcome to the Monthly Forecast!

    \n

    Each year’s forecast is based off of last year’s numbers. If you have Live Data available, for example, from QuickBooks Online, you will be able to see and click the Sync Live Data button.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '#sticky-topnav-left-btns',\n content: () => (\n
    \n
      \n
    • Enables you to print or export to PDF
    • \n
    • Enables you to export to Excel
    • \n
    \n
    \n )\n },\n {\n selector: '#sticky-side-btns',\n content: () => (\n
    \n
      \n
    • Opens/Closes the slider and number inputs drawer for the Profit & Loss and Balance Sheet. You can edit the forecast values with these.
    • \n
    \n
    \n )\n },\n {\n selector: '.monthly-forcast-chart',\n content: () => (\n
    \n

    Here you can see Revenue Models for your Straightline, You, and your client's Peers.

    \n

    By choosing one of the models, the revenue will be distributed throughout the year using either a straightline method or by using the historical monthly distribution of your client’s revenue or their peers’ revenue.

    \n

    You can click on the legend in the chart to display and edit the values below in the Forecast sheets.

    \n
    \n )\n },\n {\n selector: '.revenue-model-btn',\n content: () => (\n

    Open/Close the Revenue Model chart with this button.

    \n )\n },\n {\n selector: '.sync-live-btn',\n content: () => (\n

    If you have Live Data available, for example, from QuickBooks Online, you will be able to see and click the Sync Live Data button for the current year.

    \n )\n },\n {\n selector: '.scenario-form',\n content: () => (\n

    After you make changes to your forecast and you want to save, make sure to give you a new scenario and save it before navigating to another page.

    \n )\n },\n {\n selector: '.scenario-selection',\n content: () => (\n

    You can display your saved scenarios by selecting them in this dropdown.

    \n )\n },\n {\n selector: '#monthly-forecast-tabs',\n content: () => (\n

    Much like Excel, you can switch between the tabs to view different report elements. Here we have the Profit & Loss, Balance Sheet, Cash Flow, and Key Financial Indicators (KFI's).

    \n ),\n position: 'center'\n },\n {\n selector: '.year-selector',\n content: () => (\n
    \n

    The forecast will go out to 3 years. You can click back and forth between the years and it will display the same year when you click the different tabs.

    \n

    You will notice on the Profit & Loss that there's a growth rate number that will also change with the years.

    \n
    \n )\n },\n {\n selector: '#year1-pnl-modal',\n content: () => (\n
    \n

    The slider and number inputs drawers for the Profit & Loss and Balance Sheet are where can edit and create your scenarios.

    \n

    You can click to toggle between the slider and input tabs.

    \n

    When creating a scenario you will want to edit Revenue, Expense, Asset, Liability and Equity accounts to fit your expectations.

    \n
    \n )\n },\n {\n selector: '.current-month-col',\n content: () => (\n
    \n

    You can click and select which month you want to change values for with the light orange highlight.

    \n

    You’ll notice that when you change a value within a month, each following month will have that same value.

    \n
    \n )\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n\n if (page === 'custom_report_builder') {\n return [\n {\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    Hello!

    \n

    Would you like to take a tour of this page?

    \n
    \n \n \n
    \n
    \n ),\n position: 'center'\n },\n {\n content: () => (\n
    \n

    Welcome to the Customer Report Builder page!

    \n

    Here you can create custom reports for your clients.

    \n

    Click on the arrows below to navigate throughout the tour at any time.

    \n

    You can also click outside of the tour's pop up window in the shaded area to move on to the next step.

    \n

    Let's get started!

    \n
    \n ),\n position: 'center'\n },\n {\n selector: '.company-selection-form',\n content: () => (

    Here you can change which client's data you would like to see populate the charts below.

    )\n },\n {\n selector: '.naics-code-selection-form',\n content: () => (\n
    \n

    Here you can change the NAICS code or industry's chart of accounts.

    \n

    Some charts will be visible only for certain NAICS codes. If you change the client you are viewing, this will automatically update.

    \n
    \n )\n },\n {\n selector: '.dashboard-view-controls-container',\n content: () => (

    Here you can edit, create, and view all of your reports.

    )\n },\n {\n selector: '.edit-dashboard-btn',\n content: () => (

    Here you can add or remove charts from the dashboard layout.

    )\n },\n {\n selector: '.fa-question-circle',\n content: ({ setCurrentStep, setIsOpen }) => (\n
    \n

    That's the end of the tour!

    \n

    If you would like to take it again at any time just click this button.

    \n \n
    \n ),\n position: 'center',\n action: () => endTour()\n },\n ];\n }\n}\n\nconst reactourStyles = (page) => {\n switch (page) {\n case 'people':\n return {\n badge: base => (\n { ...base, backgroundColor: '#08aeef' }\n ),\n dot: () => (\n { display: 'none' }\n )\n }\n case 'customers':\n return {\n badge: base => (\n { ...base, backgroundColor: '#5d2a72' }\n ),\n dot: () => (\n { display: 'none' }\n )\n }\n case 'forecast':\n return {\n badge: base => (\n { ...base, backgroundColor: '#f17b5b' }\n ),\n dot: () => (\n { display: 'none' }\n )\n }\n default:\n return {\n badge: base => (\n { ...base, backgroundColor: '#69B144' }\n ),\n dot: () => (\n { display: 'none' }\n )\n }\n\n }\n}\nexport { reactourSteps, reactourStyles };","import React, { useState, useEffect } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\n\nconst NavFormIndustryDropdown = ({ selectedCode, codeOptions, setSelectedFilters, page = '' }) => {\n const [allCodeOptions, setAllCodeOptions] = useState(codeOptions)\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n setAllCodeOptions(codeOptions)\n }, [codeOptions])\n\n const handleOptionsExpand = (index) => {\n setAllCodeOptions(() => {\n let newCodeOptions = allCodeOptions.map((c, i) => {\n if (i === index) {\n c[2] = c[2] ? false : true\n } else {\n c[2] = false\n }\n return c\n })\n return newCodeOptions\n })\n }\n\n const handleMouseEnter = () => {\n setVisible(true);\n };\n\n // Function to hide the menu (after clicking an option)\n const handleMouseLeave = () => {\n setVisible(false);\n };\n\n const setClicked = (updated) => {\n setVisible((prevVisible) => {\n return false;\n });\n\n switch (page) {\n case 'practice':\n setSelectedFilters(prevState => {\n return { ...prevState, naics_string: updated }\n })\n break;\n case 'manageClients':\n setSelectedFilters(prevState => {\n return { ...prevState, naics_code: updated }\n })\n break;\n default:\n setSelectedFilters(prevState => {\n return { ...prevState, code: updated }\n })\n break;\n }\n }\n\n const findSimilarNaics = (code) => {\n return allCodeOptions.map((filter, i) => {\n if (filter[0].slice(0, 2) === code.slice(0, 2)) {\n return (\n
  • { setClicked(filter[0]) }}>\n {filter[0] === selectedCode ?
    : null}\n
    {filter[0]}{filter[1].slice(0, 3).includes('-') || filter[0] === 'All' ? null : ' - '}{filter[1]}
    \n
  • \n )\n }\n })\n }\n\n const makeNaicsFilterOptions = () => {\n const twoDigitOptions = []\n let subULs;\n\n if (allCodeOptions) {\n subULs = allCodeOptions.map((filter, i) => {\n if (filter[0].length === 2 || filter[0] === 'All' || filter[0].includes('-') || filter[0] === 'vets' || filter[0] === 'saas' || filter[0] === 'SaaS' || filter[0] === '999999') {\n twoDigitOptions.push(filter[0])\n return (\n
  • {\n e.stopPropagation();\n handleOptionsExpand(i)\n }}>\n
    {filter[0]}{filter[1].slice(0, 3).includes('-') || filter[0] === 'All' ? null : ' - '}{filter[1].length > 40 ? filter[1].slice(0, 40).concat('...') : filter[1]}
    \n {filter[2]\n ?
      \n {findSimilarNaics(filter[0])}\n
    \n : null\n }\n
  • \n )\n }\n else if (filter[0] === selectedCode && !twoDigitOptions.includes(selectedCode.slice(0, 2))) {\n return (\n
  • \n
    {filter[0]}{filter[1].slice(0, 3).includes('-') || filter[0] === 'All' ? null : ' - '}{filter[1].length > 40 ? filter[1].slice(0, 40).concat('...') : filter[1]}
    \n {filter[2]\n ?
      \n {findSimilarNaics(filter[0])}\n
    \n : null\n }\n
  • \n )\n }\n })\n }\n\n return (\n \n \n {subULs}\n \n \n )\n }\n\n const findDescription = () => {\n let description = ''\n if (allCodeOptions) {\n allCodeOptions.forEach(filter => {\n return filter[0] == selectedCode ? description = filter[1].slice(0, 3).includes('-') || filter[0] === 'All' ? filter[1] : ' - ' + filter[1] : null\n })\n }\n return description\n }\n\n return (\n
    \n \n \n {makeNaicsFilterOptions()}\n
    \n {selectedCode}\n {findDescription()}\n
    \n
    \n
    \n \n )\n}\n\nexport default NavFormIndustryDropdown","import React, { useState, useEffect } from 'react';\nimport NavFormIndustryDropdown from '../NavFormIndustryDropdown';\n\nconst DropdownFilter = ({ report, calendarYearEnd, current, naicsCode = '', options, onClick, clas, isMonthlyAvailable, getMonthlyForecastScenario, monthlyCompareWithOptions, youAnnualOptions, youMonthlyOptions, peerAnnualOptions, peerMonthlyOptions }) => {\n // current is the selected options\n // options are the naics, size, region, and year\n // currentNewFilters is selected compare_with, display_columns_by, report_period\n const [filters, setFilters] = useState({\n code: '',\n region: '',\n revenue_band: '',\n year: '',\n number_of_pros: '',\n datatype: 'Private',\n dataset: 'Peers',\n compare_with: 'Peers',\n display_columns_by: 'Years',\n report_period: '2 Years',\n })\n\n const [filterOptions, setFilterOptions] = useState({\n code: [],\n region: [],\n revenue_band: [],\n year: [],\n number_of_pros: [],\n datatype: ['All', 'Private', 'Public'],\n dataset: ['Peers', 'NSCHBC'],\n compare_with: [],\n display_columns_by: [],\n report_period: []\n })\n\n useEffect(() => {\n if (current) {\n if (report == 'customreport' || report === 'money' || report === 'people' || report === 'customers' || report === 'audit') {\n let displayColumnsBy = current.display_columns_by;\n let reportPeriodOptions = [];\n let yearOptions = options.year;\n let compareWithOptions = [];\n\n if (report !== 'audit') {\n if (isMonthlyAvailable && displayColumnsBy === 'Years') {\n reportPeriodOptions = ['2 Years', '3 Years', '4 Years', 'All Years', 'Year to Date'];\n compareWithOptions = options['compare_with'];\n } else if (displayColumnsBy === 'Years') {\n reportPeriodOptions = ['2 Years', '3 Years', '4 Years', 'All Years'];\n compareWithOptions = options['compare_with'];\n }\n\n if (displayColumnsBy === 'Months') {\n reportPeriodOptions = ['Full Year', 'Trailing 12']\n if (report === 'money') {\n compareWithOptions = monthlyCompareWithOptions;\n } else {\n compareWithOptions = peerMonthlyOptions['year'].length === 0 ? ['None', 'YOY'] : ['None', 'YOY', 'Peers'];\n }\n yearOptions = ['Peers', 'Default:Peers'].includes(current.compare_with) ? peerMonthlyOptions['year'] : youMonthlyOptions['year'];\n }\n } else {\n compareWithOptions = options['compare_with']\n yearOptions = ['Peers', 'Default:Peers'].includes(current.compare_with) ? peerAnnualOptions['year'] : youAnnualOptions['year'];\n }\n\n setFilters((prevState) => {\n return {\n ...prevState,\n code: current.code || '',\n region: current.region || '',\n revenue_band: current.revenue_band || '',\n year: current.year || '',\n number_of_pros: current.number_of_pros || '',\n compare_with: current.compare_with || 'Peers',\n display_columns_by: displayColumnsBy || 'Years',\n report_period: current.report_period || '2 Years',\n monthly_forecast_scenarios: current.monthly_forecast_scenarios || ''\n }\n })\n\n setFilterOptions((prevState) => {\n return {\n ...prevState,\n code: options.code || [],\n region: options.region || [],\n revenue_band: options.revenue_band || [],\n year: yearOptions || [],\n number_of_pros: options.number_of_pros || [],\n compare_with: compareWithOptions,\n display_columns_by: isMonthlyAvailable ? ['Years', 'Months'] : ['Years'],\n report_period: reportPeriodOptions,\n monthly_forecast_scenarios: options['monthly_forecast_scenarios'] || []\n }\n })\n\n } else {\n setFilters((prevState) => {\n return {\n ...prevState,\n code: current.code || '',\n region: current.region || '',\n revenue_band: current.revenue_band || '',\n year: current.year || ''\n }\n })\n\n setFilterOptions((prevState) => {\n return {\n ...prevState,\n code: options.code || [],\n region: options.region || [],\n revenue_band: options.revenue_band || [],\n year: options.year || []\n }\n })\n }\n }\n }, [current, options])\n\n\n const updateFilters = ({ target }) => {\n let updated = '';\n updated = target.name == 'year' ? parseInt(target.value) : target.value;\n let yearOptions = []\n\n switch (target.name) {\n case 'code':\n setFilters((prevState) => {\n return { ...prevState, code: updated }\n });\n break;\n case 'region':\n setFilters((prevState) => {\n return { ...prevState, region: updated }\n });\n break;\n case 'revenue_band':\n setFilters((prevState) => {\n return { ...prevState, revenue_band: updated }\n });\n break;\n case 'datatype':\n setFilters((prevState) => {\n return { ...prevState, datatype: updated }\n });\n break;\n case 'dataset':\n setFilters((prevState) => {\n return { ...prevState, dataset: updated }\n });\n break;\n case 'year':\n setFilters((prevState) => {\n return { ...prevState, year: updated }\n });\n break;\n case 'number_of_pros':\n setFilters((prevState) => {\n return { ...prevState, number_of_pros: updated }\n });\n break;\n case 'compare_with':\n if (filters.display_columns_by === 'Months') {\n yearOptions = ['Peers', 'Default:Peers'].includes(updated) ? peerMonthlyOptions['year'] : youMonthlyOptions['year']\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n setFilters((prevState) => {\n return { ...prevState, year: yearOptions[yearOptions.length - 1] }\n });\n }\n if (filters.display_columns_by === 'Years') {\n yearOptions = ['Peers', 'Default:Peers'].includes(updated) ? peerAnnualOptions['year'] : youAnnualOptions['year'];\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n setFilters((prevState) => {\n return { ...prevState, year: yearOptions[yearOptions.length - 1] }\n });\n }\n\n setFilters((prevState) => {\n return { ...prevState, compare_with: updated }\n });\n break;\n case 'display_columns_by':\n let reportPeriodOptions = [];\n let reportPeriodDefault = '';\n let compareWithOptions = [];\n let compareWith = '';\n\n if (isMonthlyAvailable && updated === 'Years') {\n reportPeriodOptions = ['2 Years', '3 Years', '4 Years', 'All Years', 'Year to Date']\n reportPeriodDefault = '2 Years';\n compareWithOptions = options['compare_with'];\n compareWith = 'Peers';\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerAnnualOptions['year'] : youAnnualOptions['year'];\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n setFilters((prevState) => {\n return { ...prevState, year: yearOptions[yearOptions.length - 1] }\n })\n } else if (updated === 'Years') {\n reportPeriodOptions = ['2 Years', '3 Years', '4 Years', 'All Years'];\n reportPeriodDefault = '2 Years';\n compareWithOptions = options['compare_with'];\n compareWith = 'Peers';\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerAnnualOptions['year'] : youAnnualOptions['year'];\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n setFilters((prevState) => {\n return { ...prevState, year: yearOptions[yearOptions.length - 1] }\n })\n } else if (updated === 'Months') {\n reportPeriodOptions = ['Full Year', 'Trailing 12']\n reportPeriodDefault = 'Full Year';\n\n if (report === 'money') {\n compareWithOptions = monthlyCompareWithOptions\n compareWith = 'Default:YOY';\n } else {\n compareWithOptions = peerMonthlyOptions['year'].length ? ['None', 'YOY'] : ['None', 'YOY', 'Peers'];\n compareWith = 'YOY';\n }\n\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerMonthlyOptions['year'] : youMonthlyOptions['year']\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n setFilters((prevState) => {\n return { ...prevState, year: yearOptions[yearOptions.length - 1] }\n })\n }\n\n setFilters((prevState) => {\n return { ...prevState, compare_with: compareWith, display_columns_by: updated, report_period: reportPeriodDefault, monthly_forecast_scenarios: '' }\n });\n\n setFilterOptions((prevState) => {\n return { ...prevState, compare_with: compareWithOptions, report_period: reportPeriodOptions }\n })\n break;\n case 'report_period':\n let selectedYear = current.year;\n compareWithOptions = options['compare_with'];\n\n if (updated === 'Year to Date') {\n compareWithOptions = ['None', 'Peers']\n compareWith = 'Peers'\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerMonthlyOptions['year'] : youMonthlyOptions['year']\n selectedYear = yearOptions[yearOptions.length - 1]\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n\n } else if (filters.display_columns_by === 'Years' && updated !== 'Year to Date') {\n compareWithOptions = ['None', 'Peers', 'Practice']\n compareWith = 'Peers'\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerAnnualOptions['year'] : youAnnualOptions['year']\n selectedYear = yearOptions[yearOptions.length - 1]\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n } else if (filters.display_columns_by === 'Months' && updated !== 'Year to Date') {\n if (report === 'money') {\n compareWithOptions = monthlyCompareWithOptions\n compareWith = updated === 'Full Year' || updated === 'Trailing 12' ? 'Default:YOY' : 'YOY';\n yearOptions = ['Peers', 'Default:Peers'].includes(compareWith) ? peerMonthlyOptions['year'] : youMonthlyOptions['year']\n selectedYear = yearOptions[yearOptions.length - 1]\n\n setFilterOptions((prevState) => {\n return { ...prevState, year: yearOptions }\n })\n }\n }\n\n setFilters((prevState) => {\n return { ...prevState, year: selectedYear }\n })\n\n setFilters((prevState) => {\n return { ...prevState, compare_with: compareWith, report_period: updated }\n });\n\n setFilterOptions((prevState) => {\n return { ...prevState, compare_with: compareWithOptions }\n })\n break;\n case 'forecast_scenario':\n setFilters((prevState) => {\n return { ...prevState, monthly_forecast_scenarios: updated }\n });\n\n setFilters((prevState) => {\n return { ...prevState, compare_with: 'Forecast Scenario' }\n });\n break;\n }\n };\n\n const handleAuditCompareScenario = (value) => {\n setFilters((prevState) => {\n return { ...prevState, compare_with: value }\n });\n getMonthlyForecastScenario(value)\n }\n\n const buildFilter = ({ list, selected, key, label, styleName, optionCallback }) => {\n if (list) return (\n
    \n \n \n
    \n )\n }\n\n const buildFilterWGroups = ({ list, selected, key, label, styleName }) => {\n let defaultSelected = selected === 'YOY' ? 'Default:YOY' : selected === 'Peers' ? 'Default:Peers' : selected;\n\n const handleFilterGroups = (e) => {\n\n if (report === 'audit') {\n handleAuditCompareScenario(e.target.value)\n } else {\n updateFilters(e)\n }\n }\n\n if (list) {\n let arrList = list\n\n return (\n
    \n \n \n
    \n )\n }\n }\n\n if (!current) return
    ;\n\n let reportBtnClass;\n if (report === 'money' || report === 'industry' || report === 'customreport') {\n reportBtnClass = 'run-report-btn'\n } else if (report === 'people') {\n reportBtnClass = 'run-report-btn-people'\n } else if (report === 'customers') {\n reportBtnClass = 'run-report-btn-customers'\n } else if (report === 'audit') {\n reportBtnClass = 'run-report-btn-audit'\n }\n\n clas = report == 'audit' ? 'audit-dropdown-filters' : clas\n let naics62Code = naicsCode.startsWith('621');\n\n return (\n \n );\n};\nexport default DropdownFilter;","import React from 'react';\n\nconst LoaderGraphic = () => {\n return(\n
    \n \n
    \n )\n}\n\nexport default LoaderGraphic;\n","import { createContext } from \"react\";\n\nconst Data = createContext({});\nconst Filters = createContext({});\n\n\nexport { Data, Filters };\n","export { capitalize }\nexport { createMoneyFormat }\nexport { findQuarterToDisplay }\nexport { generateId }\nexport { parseMoney }\nexport { percentify }\n\nconst capitalize = (word) => {\n const split = word.split('')\n split[0] = word[0].toUpperCase()\n return split.join('')\n}\n\nconst createMoneyFormat = (n) => {\n let int = parseInt(n)\n if ((int && typeof int === 'number') || int === 0) {\n int = parseInt(Math.round(n))\n return int.toLocaleString(undefined, { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 })\n } else if (n === '-') {\n return '-$0'\n } else if (n === undefined) {\n return '$0'\n } else {\n return '$0'\n }\n};\n\nfunction findQuarterToDisplay() {\n let q1 = [1, 2, 3]\n let q2 = [4, 5, 6]\n let q3 = [7, 8, 9]\n let q4 = [10, 11, 12]\n const currentMonth = new Date().getMonth() + 1; // JS months are 0-indexed\n\n if (currentMonth < 3) {\n return q4;\n } else if (currentMonth >= 3 && currentMonth < 6) {\n return q1;\n } else if (currentMonth >= 6 && currentMonth < 9) {\n return q2;\n } else if (currentMonth >= 9 && currentMonth < 12) {\n return q3;\n }\n}\n\nconst generateId = () => {\n var text = \"\";\n var possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n for (var i = 0; i < 5; i++)\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n\n return text;\n}\n\nfunction parseMoney (n, noRounding = false) {\n let int = parseInt(n)\n if ((int && typeof int === 'number') || int === 0) {\n if (noRounding) {\n return n.toLocaleString(undefined, { style: 'currency', currency: 'USD', minimumFractionDigits: 2, maximumFractionDigits: 2 })\n } else {\n int = parseInt(Math.round(n))\n return int.toLocaleString(undefined, { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 })\n }\n } else if (n === undefined || n === null) {\n return ''\n } else {\n return '-'\n }\n};\n\nconst percentify = (val, muliplier = 1) => {\n if (val || val === 0) {\n return ((Math.round(val * 100) / 100) * muliplier) + '%'\n } else {\n return '0%'\n }\n}\n","const defaultLayouts = {\n money_peerview_charts: [\n { i: 'peerview_gauges', isBounded: false, isDraggable: true, isResizable: false, x: 0, y: 0, w: 6, h: 1, minW: 6, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'quadrant_growth_profitability', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 1, w: 3, h: 2, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'quadrant_leverage_cash_flow', isBounded: false, isDraggable: false, isResizable: true, x: 3, y: 1, w: 3, h: 2, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'you_pie', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 1, w: 3, h: 2, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'compare_pie', isBounded: false, isDraggable: true, isResizable: true, x: 3, y: 1, w: 3, h: 2, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n ],\n people_peerview_charts: [\n { i: 'people_peerview_gauges', isBounded: false, isDraggable: true, isResizable: false, x: 0, y: 0, w: 6, h: 1, minW: 6, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'you_compare_stacked_column', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 1, w: 3, h: 2, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n ],\n customers_peerview_charts: [\n { i: 'customers_peerview_gauges', isBounded: false, isDraggable: true, isResizable: false, x: 0, y: 0, w: 6, h: 1, minW: 6, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false }\n ]\n}\n\nlet editableChartStyleDefault = {\n seriesOne: {\n type: 'column',\n },\n seriesTwo: {\n type: 'column',\n }\n}\n\nconst moneyCharts = {\n peerview_charts: [\n {\n chartType: 'customMultipleTables',\n copy: 'Executive Dashboard',\n key: 'versus',\n relatedCheckedKey: 'versus',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n chartType: 'linesTrend',\n copy: 'Revenue Trend',\n key: 'total_revenue_trend',\n relatedCheckedKey: 'total_revenue_trend',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n chartType: 'linesTrend',\n copy: 'Operating Profit Trend',\n key: 'operating_profit_trend',\n relatedCheckedKey: 'operating_profit_trend',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n chartType: 'pnlStackedColumnsAndSpline',\n copy: 'P&L View',\n key: 'pnl_combo_view',\n relatedCheckedKey: 'pnl_combo_view',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n chartType: 'gauges',\n copy: 'Peerview Metric Gauges',\n key: 'peerview_gauges',\n relatedCheckedKey: 'peerview_gauges',\n checked: true,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n copy: 'Growth vs. Profitability Chart',\n key: 'quadrant_growth_profitability',\n relatedCheckedKey: 'quadrant_growth_profitability',\n keys: ['growth', 'profitability'],\n subtitle: '(Peerview Metrics)',\n x: 'Growth',\n y: 'Profitability',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n copy: 'Leverage & Cash Flow Chart',\n key: 'quadrant_leverage_cash_flow',\n relatedCheckedKey: 'quadrant_leverage_cash_flow',\n keys: ['leverage', 'cash_flow'],\n subtitle: '(Peerview Metrics)',\n x: 'Leverage',\n y: 'Cash Flow',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n dragTogglable: true,\n chartType: 'pie',\n copy: 'Your Expenses Chart',\n key: 'you_pie',\n relatedCheckedKey: 'you_pie',\n checked: true,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n dragTogglable: true,\n chartType: 'pie',\n copy: 'Peer Expenses Chart',\n key: 'compare_pie',\n relatedCheckedKey: 'compare_pie',\n checked: true,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n displayAll: true,\n chartType: 'stackedBars',\n format: 'money',\n copy: 'Accounts Receivable Aging Summary',\n key: 'ar_aging_summary',\n relatedCheckedKey: 'ar_aging_summary',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n displayAll: true,\n chartType: 'stackedBars',\n format: 'money',\n copy: 'Accounts Payable Aging Summary',\n key: 'ap_aging_summary',\n relatedCheckedKey: 'ap_aging_summary',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n {\n chartType: 'textarea',\n copy: 'Notes',\n key: 'my_notes',\n relatedCheckedKey: 'my_notes',\n checked: false,\n displayChart: true,\n sheet: 'peerview_charts',\n },\n ],\n money: [\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'Revenue Growth Rate',\n key: 'total_revenue_growth_rate',\n relatedCheckedKey: 'total_revenue',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'COGS',\n key: 'total_costs_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_costs',\n relatedCheckedKey: 'total_costs',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'Gross Profit Margin',\n key: 'gross_margin',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_costs',\n relatedCheckedKey: 'gross_profit',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'OpEx',\n key: 'total_operating_expenses_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_operating_expenses',\n relatedCheckedKey: 'total_operating_expenses',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'Net Profit Margin',\n key: 'profit_margin',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'operating_expenses_net_income',\n relatedCheckedKey: 'operating_expenses_net_income',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'ROA',\n key: 'roa',\n subtitle: '(Return on Assets)',\n trailing12Key: 'Return on Assets (ROA)',\n relatedCheckedKey: 'roa',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'ROE',\n key: 'roe',\n subtitle: '(Return on Equity)',\n trailing12Key: 'Return on Equity (ROE)',\n relatedCheckedKey: 'roe',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'ROCE',\n key: 'roce',\n subtitle: '(Return on Capital Employed)',\n trailing12Key: 'Return on Capital Employed (ROCE)',\n relatedCheckedKey: 'roce',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n copy: 'ROI',\n key: 'mkt_roi',\n subtitle: '(Return on Investment)',\n trailing12Key: 'ROI',\n relatedCheckedKey: 'capital_stock',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n copy: 'Asset Turnover Ratio',\n key: 'asset_turnover_ratio',\n trailing12Key: 'Asset Turnover Ratio',\n relatedCheckedKey: 'asset_turnover_ratio',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n copy: 'Cash',\n key: 'cash',\n relatedCheckedKey: 'cash',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n copy: 'Net Working Capital Ratio',\n key: 'net_working_capital_ratio',\n relatedCheckedKey: 'net_working_capital_ratio',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n copy: 'Net Working Capital',\n key: 'net_working_capital',\n relatedCheckedKey: 'net_working_capital',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n copy: 'Current Ratio',\n key: 'current_ratio',\n relatedCheckedKey: 'current_ratio',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n copy: 'Debt / Equity',\n key: 'debt_to_equity',\n trailing12Key: 'Debt / Equity',\n relatedCheckedKey: 'debt_to_equity',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n copy: 'Senior Debt / EBITDA',\n key: 'senior_debt_to_ebitda',\n trailing12Key: 'Senior Debt / EBITDA',\n relatedCheckedKey: 'senior_debt_to_ebitda',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n copy: 'EBITDA / Annual Interest',\n key: 'ebitda_to_annual_interest',\n trailing12Key: 'EBITDA / Annual Interest',\n relatedCheckedKey: 'ebitda_to_annual_interest',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n copy: 'Accounts Receivable Days',\n key: 'ar_days',\n trailing12Key: 'Accounts Receivable Days',\n relatedCheckedKey: 'accounts_receivable',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n copy: 'Inventory Turns',\n key: 'inventory_turnover_ratio',\n trailing12Key: 'Inventory Turnover Ratio',\n relatedCheckedKey: 'inventory',\n checked: false\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n copy: 'Account Payable Days',\n key: 'ap_days',\n trailing12Key: 'Accounts Payable Days',\n relatedCheckedKey: 'accounts_payable',\n checked: false\n },\n\n ],\n}\n\nconst peopleCharts = {\n peerview_charts: [\n {\n chartType: 'gauges',\n copy: 'Peerview Metric Gauges',\n key: 'people_peerview_gauges',\n relatedCheckedKey: 'people_peerview_gauges',\n checked: false,\n displayChart: true,\n sheet: 'people_peerview_charts',\n },\n {\n chartType: 'stackedColumns',\n copy: 'Expenses Comparison Chart',\n key: 'you_compare_stacked_column',\n relatedCheckedKey: 'you_compare_stacked_column',\n checked: false,\n displayChart: true,\n sheet: 'people_peerview_charts',\n }\n ],\n}\n\nconst customerCharts = {\n peerview_charts: [\n {\n chartType: 'gauges',\n copy: 'Peerview Metric Gauges',\n key: 'customers_peerview_gauges',\n relatedCheckedKey: 'customers_peerview_gauges',\n checked: false,\n displayChart: true,\n sheet: 'customers_peerview_charts',\n },\n ],\n selected_items: [\n {\n formSection: 'Peerview Metrics',\n chartType: 'gauges',\n copy: 'Peerview Metric Gauges',\n key: 'customers_peerview_gauges',\n relatedCheckedKey: 'customers_peerview_gauges',\n checked: false,\n displayChart: true,\n sheet: 'customers_peerview_charts',\n label: 'Peerview Metrics',\n checked: true\n },\n {\n formSection: 'Spend', key: 'total_revenue', label: 'Revenue', checked: false, sheet: 'customers_financial_detail',\n children: [\n { chartType: 'editableChart', key: 'total_revenue', label: 'Revenue Growth Rate', checked: false },\n { key: 'total_revenue_impact_box', label: 'Revenue Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'gross_profit', label: 'Gross Profit', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'gross_profit', label: 'Gross Profit Chart', checked: false },\n { key: 'gross_profit_impact_box', label: 'Gross Profit Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'operating_expenses_net_income', label: 'Net Income', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'operating_expenses_net_income', label: 'Net Income Chart', checked: false },\n { key: 'operating_expenses_net_income_impact_box', label: 'Net Income Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'total_customer_costs_sales_& marketing', label: 'Sales & Marketing', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'total_customer_costs_sales_& marketing', label: 'Sales & Marketing Chart', checked: false },\n { key: 'total_customer_costs_sales_& marketing_impact_box', label: 'Sales & Marketing Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'travel_entertainment_and_meals', label: 'Travel, Entertainment & Meals', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'travel_entertainment_and_meals', label: 'Travel, Entertainment & Meals Chart', checked: false },\n { key: 'travel_entertainment_and_meals_impact_box', label: 'Travel, Entertainment & Meals Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'total_customer_costs_billings_& collections', label: 'Professional Fees - Customers', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'total_customer_costs_billings_& collections', label: 'Professional Fees - Customers Chart', checked: false },\n { key: 'total_customer_costs_billings_& collections_impact_box', label: 'Professional Fees - Customers Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Spend', key: 'customers_misc_professional_fees', label: 'Professional Fees - Customers', checked: false, sheet: 'customers_financial_detail',\n children: [\n { key: 'customers_misc_professional_fees', label: 'Professional Fees - Customers Chart', checked: false },\n { key: 'customers_misc_professional_fees_impact_box', label: 'Professional Fees - Customers Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Volatility', key: 'revenue_per_customer', label: 'Revenue Per Client', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'revenue_per_customer', label: 'Revenue Per Client Chart', checked: false },\n { key: 'revenue_per_customer_impact_box', label: 'Revenue Per Client Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Volatility', key: 'gross_profit_per_customer', label: 'Gross Profit Per Client', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'gross_profit_per_customer', label: 'Gross Profit Per Client Chart', checked: false },\n { key: 'gross_profit_per_customer_impact_box', label: 'Gross Profit Per Client Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Volatility', key: 'operating_expenses_net_income_per_customer', label: 'Net Profit Per Client', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'operating_expenses_net_income_per_customer', label: 'Net Profit Per Client Chart', checked: false },\n { key: 'operating_expenses_net_income_per_customer_impact_box', label: 'Net Profit Per Client Impact Box', checked: false },\n ]\n },\n {\n formSection: 'ROI', key: 'customer_roi', label: 'Marketing ROI', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'customer_roi', label: 'Marketing ROI Chart', checked: false },\n { key: 'customer_roi_impact_box', label: 'Marketing ROI Impact Box', checked: false },\n ]\n },\n {\n formSection: 'ROI', key: 'number_of_new_customers_needed_to_maintain_growth', label: 'Growth Requirements', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'number_of_new_customers_needed_to_maintain_growth', label: 'Growth Requirements Chart', checked: false },\n { key: 'number_of_new_customers_needed_to_maintain_growth_impact_box', label: 'Growth Requirements Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_10_percent', label: 'Customer Concentration - 10%', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_10_percent', label: 'Customer Concentration - 10% Chart', checked: false },\n { key: 'percent_of_sales_from_the_top_10_percent_impact_box', label: 'Customer Concentration - 10% Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_25_percent', label: 'Customer Concentration - 25%', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_25_percent_chart', label: 'Customer Concentration - 25% Chart', checked: false },\n { key: 'percent_of_sales_from_the_top_25_percent_impact_box', label: 'Customer Concentration - 25% Impact Box', checked: false },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_50_percent', label: 'Customer Concentration - 50%', checked: false, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_50_percent_chart', label: 'Customer Concentration - 50% Chart', checked: false },\n { key: 'percent_of_sales_from_the_top_50_percent_impact_box', label: 'Customer Concentration - 50% Impact Box', checked: false },\n ]\n },\n ],\n dashboard_items: [\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'total_revenue'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'gross_profit',\n percentOfRevenueKey: 'total_costs',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'operating_expenses_net_income',\n percentOfRevenueKey: 'operating_expenses_net_income',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'revenue_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'gross_profit_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'operating_expenses_net_income_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_customer_costs_common_size_revenue'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'customer_roi'\n },\n // {\n // // only years\n // displayAll: false,\n // chartType: 'horizontalBars',\n // format: 'percent',\n // key: 'customer_concentration',\n // keys: ['percent_of_sales_from_the_top_10_percent', 'percent_of_sales_from_the_top_25_percent', 'percent_of_sales_from_the_top_50_percent'],\n // title: 'Customer Concentration',\n // subtitle: '(Percent of Sales from Percent of Customers)',\n // yearOnly: true\n // },\n // {\n // displayAll: true,\n // chartType: 'verticalBars',\n // format: 'decimal',\n // key: 'number_of_new_customers_needed_to_maintain_growth',\n // title: 'Growth Requirements',\n // subtitle: '(# of Additional Customers Needed to Maintain Growth)'\n // },\n // {\n // // only years\n // displayAll: false,\n // chartType: 'lines',\n // format: 'money',\n // key: 'customer_retention',\n // keys: ['cltv_70', 'cltv_80', 'cltv_90'],\n // title: 'Customer Retention Value',\n // subtitle: '(Based on Annual Retention Rate over 7-Yr Period)',\n // yearOnly: true\n // }\n ],\n nested_dashboard_layout: [\n { i: 'peerview_gauges', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 4, moved: false, resizeHandles: ['se'], static: false },\n {\n i: 'total_revenue', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'total_revenue_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'total_revenue_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'gross_profit', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 2, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'gross_profit_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'gross_profit_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ],\n },\n {\n i: 'operating_expenses_net_income', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 4, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'operating_expenses_net_income_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'operating_expenses_net_income_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'total_customer_costs_sales_& marketing', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 6, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'total_customer_costs_sales_& marketing_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'total_customer_costs_sales_& marketing_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'travel_entertainment_and_meals', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'travel_entertainment_and_meals_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'travel_entertainment_and_meals_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'total_customer_costs_billings_& collections', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'total_customer_costs_billings_& collections_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'total_customer_costs_billings_& collections_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'revenue_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'revenue_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'revenue_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'gross_profit_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'gross_profit_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'gross_profit_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'operating_expenses_net_income_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'operating_expenses_net_income_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'operating_expenses_net_income_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'customer_roi', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'customer_roi_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'customer_roi_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'number_of_new_customers_needed_to_maintain_growth', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'number_of_new_customers_needed_to_maintain_growth_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'number_of_new_customers_needed_to_maintain_growth_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_10_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_10_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_10_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_25_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_25_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_25_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_50_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_50_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_50_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n ]\n}\n\nconst pageCharts = {\n industryMoney: [\n {\n chartType: 'line',\n format: 'percent',\n key: 'total_revenue_growth_rate',\n subtitle: '(Annual Growth Rate, by %)',\n },\n {\n chartType: 'line',\n format: 'percent',\n key: 'total_costs_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n },\n {\n chartType: 'line',\n format: 'percent',\n key: 'total_operating_expenses_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n },\n {\n chartType: 'line',\n format: 'percent',\n key: 'profitability',\n subtitle: '(By % of Total Revenue)',\n },\n\n {\n displayAll: true,\n chartType: 'line',\n format: 'percent',\n key: 'roe',\n subtitle: '(Return on Equity)',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'percent',\n key: 'roce',\n subtitle: '(Return on Capital Employed)',\n trailing12Key: 'Return on Capital Employed (ROCE)',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'percent',\n key: 'gross_margin'\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'percent',\n key: 'profit_margin'\n },\n\n {\n displayAll: true,\n chartType: 'line',\n format: 'ratio',\n key: 'current_ratio',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'ratio',\n key: 'debt_to_equity',\n trailing12Key: 'Debt / Equity',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'ratio',\n key: 'senior_debt_to_ebitda',\n trailing12Key: 'Senior Debt / EBITDA',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'ratio',\n key: 'ebitda_to_annual_interest',\n trailing12Key: 'EBITDA / Annual Interest',\n },\n\n {\n displayAll: true,\n chartType: 'line',\n format: 'decimal',\n key: 'inventory_turnover_ratio',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'decimal',\n key: 'asset_turnover_ratio',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'decimal',\n key: 'ar_days',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'decimal',\n key: 'ap_days',\n },\n {\n displayAll: true,\n chartType: 'line',\n format: 'decimal',\n key: 'ap_days',\n },\n {\n displayAll: true,\n chartType: 'donut',\n format: 'percent',\n key: 'donut_pie_industry_expenses',\n },\n ],\n industryPeople: [\n {\n chartType: 'line',\n key: 'turnover_rate',\n format: 'percent',\n subtitle: '(Company Wide, All Employees)',\n },\n {\n chartType: 'line',\n key: 'total_revenue_per_employee',\n format: 'money',\n },\n {\n chartType: 'line',\n key: 'operating_expenses_net_income_per_employee',\n format: 'money',\n },\n {\n chartType: 'line',\n key: 'sum_compensation_growth_rate',\n subtitle: '(Annual Growth Rate, by %)',\n format: 'percent',\n },\n {\n chartType: 'line',\n key: 'sum_taxes_and_benefits_growth_rate',\n subtitle: '(Annual Growth Rate, by %)',\n format: 'percent',\n },\n {\n chartType: 'line',\n key: 'sum_subcontractors_growth_rate',\n subtitle: '(Annual Growth Rate, by %)',\n format: 'percent'\n },\n {\n chartType: 'wageDataScaffoldTable',\n key: 'wage_data_scaffold_table',\n format: 'money',\n }\n ],\n industryCustomers: [\n {\n chartType: 'line',\n key: 'revenue_per_customer',\n format: 'money',\n },\n {\n chartType: 'line',\n key: 'gross_profit_per_customer',\n format: 'money',\n },\n {\n chartType: 'line',\n key: 'operating_expenses_net_income_per_customer',\n format: 'money',\n },\n {\n chartType: 'horizontalBars',\n format: 'percent',\n key: 'customer_concentration',\n keys: ['percent_of_sales_from_the_top_10_percent', 'percent_of_sales_from_the_top_25_percent', 'percent_of_sales_from_the_top_50_percent'],\n title: 'Customer Concentration',\n subtitle: '(Percent of Sales from Percent of Customers)',\n },\n ],\n practice: {\n selected_items: [\n { formSection: 'Focused Clients', key: 'practice_focused_clients', label: 'Focused Clients', checked: false },\n {\n formSection: 'Peerview Metrics', key: 'practice_revenue', label: 'Revenue', checked: true,\n children: [\n { key: 'practice_revenue_bar_chart', label: 'Revenue Chart', checked: true },\n { key: 'practice_largest_revenue_ranking_table', label: 'Largest Revenue', checked: true },\n ]\n },\n {\n formSection: 'Peerview Metrics', key: 'practice_growth', label: 'Growth', checked: true,\n children: [\n { key: 'practice_growth_bar_chart', label: 'Growth Chart', checked: true },\n { key: 'practice_fastest_growing_ranking_table', label: 'Fastest Growing', checked: true },\n ]\n },\n {\n formSection: 'Peerview Metrics', key: 'practice_profitability', label: 'Profitability', checked: true,\n children: [\n { key: 'practice_profitability_bar_chart', label: 'Profitability Chart', checked: true },\n { key: 'practice_most_profitable_ranking_table', label: 'Most Profitable', checked: true },\n ]\n },\n {\n formSection: 'Peerview Metrics', key: 'practice_liquidity', label: 'Liquidity', checked: true,\n children: [\n { key: 'practice_liquidity_bar_chart', label: 'Liquidity Chart', checked: true },\n { key: 'practice_best_liquidity_ranking_table', label: 'Best Liquidity', checked: true },\n ]\n },\n {\n formSection: 'Peerview Metrics', key: 'practice_leverage', label: 'Leverage', checked: true,\n children: [\n { key: 'practice_leverage_bar_chart', label: 'Leverage Chart', checked: true },\n { key: 'practice_best_leverage_ranking_table', label: 'Best Leverage', checked: true },\n ]\n },\n {\n formSection: 'Peerview Metrics', key: 'practice_cash_flow', label: 'Cash Flow', checked: true,\n children: [\n { key: 'practice_cash_flow_bar_chart', label: 'Cash Flow Chart', checked: true },\n { key: 'practice_strongest_cash_flow_ranking_table', label: 'Strongest Cash Flow', checked: true },\n ]\n },\n { formSection: 'Peerview Metrics Bubble Chart', key: 'quadrant_growth_profitability', label: 'Growth & Profitability', checked: false },\n { formSection: 'Peerview Metrics Bubble Chart', key: 'quadrant_leverage_cash_flow', label: 'Leverage & Cash Flow', checked: false },\n { formSection: '3D Bubble Chart', key: 'revenue_growth_rate_vs_net_profit3D', label: 'Revenue Growth Rate vs Net Profit', checked: false },\n { formSection: 'Scatter Plot', key: 'scatter_total_revenue_vs_growth_rate', label: 'Total Revenue Size vs Growth Rate', checked: false },\n { formSection: 'Map', key: 'map_of_client_number', label: 'Where Your Clients Are Located', checked: false },\n ],\n dashboard_items: [\n {\n chartType: 'practiceText',\n format: '',\n key: 'practice_focused_clients',\n title: 'Focused Clients'\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'money',\n key: 'practice_revenue_bar_chart',\n metricKey: 'total_revenue',\n title: 'Revenue',\n },\n {\n chartType: 'rankingTable',\n format: 'money',\n key: 'practice_largest_revenue_ranking_table',\n keys: ['company_name', 'naics_string', ['total_revenue', 'money']],\n metricKey: 'total_revenue',\n title: 'Largest Revenue',\n headerCols: ['Client ID', 'NAICS', 'Revenue'],\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'percent',\n key: 'practice_growth_bar_chart',\n metricKey: 'total_revenue_growth_rate',\n title: 'Growth',\n },\n {\n chartType: 'rankingTable',\n format: 'percent',\n key: 'practice_fastest_growing_ranking_table',\n keys: ['company_name', 'naics_string', ['total_revenue_growth_rate', 'percent'], ['growth', 'wholeNumber']],\n metricKey: 'total_revenue_growth_rate',\n title: 'Fastest Growing',\n headerCols: ['Client ID', 'NAICS', 'Growth %', 'Growth']\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'percent',\n key: 'practice_profitability_bar_chart',\n metricKey: 'operating_expenses_net_income_common_size_revenue',\n title: 'Profitability',\n },\n {\n chartType: 'rankingTable',\n format: 'percent',\n key: 'practice_most_profitable_ranking_table',\n keys: ['company_name', 'naics_string', ['operating_expenses_net_income_common_size_revenue', 'percent'], ['profitability', 'wholeNumber']],\n metricKey: 'operating_expenses_net_income_common_size_revenue',\n title: 'Most Profitable',\n headerCols: ['Client ID', 'NAICS', 'Net Income', 'Profitability']\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'wholeNumber',\n key: 'practice_cash_flow_bar_chart',\n metricKey: 'cash_flow',\n title: 'Cash Flow',\n },\n {\n chartType: 'rankingTable',\n format: 'wholeNumber',\n key: 'practice_strongest_cash_flow_ranking_table',\n keys: ['company_name', 'naics_string', ['cash_flow', 'wholeNumber']],\n metricKey: 'cash_flow',\n title: 'Cash Flow',\n headerCols: ['Client ID', 'NAICS', 'Cash Flow']\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'wholeNumber',\n key: 'practice_leverage_bar_chart',\n metricKey: 'leverage',\n title: 'Leverage',\n },\n {\n chartType: 'rankingTable',\n format: 'wholeNumber',\n key: 'practice_best_leverage_ranking_table',\n keys: ['company_name', 'naics_string', ['leverage', 'wholeNumber']],\n metricKey: 'leverage',\n title: 'Best Leverage',\n headerCols: ['Client ID', 'NAICS', 'Leverage',]\n },\n {\n chartType: 'multiDataBarChart',\n dragTogglable: true,\n format: 'wholeNumber',\n key: 'practice_liquidity_bar_chart',\n metricKey: 'liquidity',\n title: 'Liquidity',\n },\n {\n chartType: 'rankingTable',\n format: 'wholeNumber',\n key: 'practice_best_liquidity_ranking_table',\n keys: ['company_name', 'naics_string', ['liquidity', 'wholeNumber']],\n metricKey: 'liquidity',\n title: 'Best Liquidity',\n headerCols: ['Client ID', 'NAICS', 'Liquidity']\n },\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n key: 'quadrant_growth_profitability',\n keys: ['growth', 'profitability'],\n subtitle: '(Peerview Metrics)',\n x: 'Growth',\n y: 'Profitability',\n },\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n key: 'quadrant_leverage_cash_flow',\n keys: ['leverage', 'cash_flow'],\n subtitle: '(Peerview Metrics)',\n x: 'Leverage',\n y: 'Cash Flow',\n },\n {\n dragTogglable: true,\n chartType: '3DBubble',\n key: 'revenue_growth_rate_vs_net_profit3D',\n format: 'percent',\n keys: ['total_revenue_growth_rate', 'operating_expenses_net_income_common_size_revenue'],\n x: 'Revenue Growth Rate',\n y: 'Net Profit',\n },\n {\n dragTogglable: true,\n chartType: 'scatterPlot',\n key: 'scatter_total_revenue_vs_growth_rate',\n keys: ['total_revenue', 'total_revenue_growth_rate'],\n x: 'Total Revenue',\n y: 'Revenue Growth Rate',\n }\n ],\n nested_dashboard_layout: [\n { i: 'practice_focused_clients', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 4, moved: false, resizeHandles: ['se'], static: false },\n {\n i: 'practice_revenue', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_revenue_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_largest_revenue_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'practice_growth', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 2, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_growth_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_fastest_growing_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ],\n },\n {\n i: 'practice_profitability', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 4, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_profitability_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_most_profitable_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'practice_liquidity', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 6, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_liquidity_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_best_liquidity_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'practice_leverage', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_leverage_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_best_leverage_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'practice_cash_flow', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 10, w: 6, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'practice_cash_flow_bar_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'practice_strongest_cash_flow_ranking_table', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n { i: 'quadrant_growth_profitability', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 8, w: 6, h: 3, minW: 3, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'quadrant_leverage_cash_flow', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 11, w: 6, h: 3, minW: 3, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'revenue_growth_rate_vs_net_profit3D', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 14, w: 6, h: 3, minW: 3, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'scatter_total_revenue_vs_growth_rate', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 17, w: 6, h: 3, minW: 3, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false },\n { i: 'map_of_client_number', isBounded: false, isDraggable: false, isResizable: true, x: 0, y: 20, w: 6, h: 3, minW: 1, minH: 1, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n money: [\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n key: 'quadrant_growth_profitability',\n keys: ['growth', 'profitability'],\n subtitle: '(Peerview Metrics)',\n x: 'Growth',\n y: 'Profitability',\n },\n {\n dragTogglable: true,\n chartType: 'quadrantBubble',\n key: 'quadrant_leverage_cash_flow',\n keys: ['leverage', 'cash_flow'],\n subtitle: '(Peerview Metrics)',\n x: 'Leverage',\n y: 'Cash Flow',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_revenue_growth_rate',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_costs_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_costs',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'gross_margin',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_costs',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_operating_expenses_common_size_revenue',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'total_operating_expenses',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'profit_margin',\n subtitle: '(By % of Total Revenue)',\n percentOfRevenueKey: 'operating_expenses_net_income',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'roa',\n subtitle: '(Return on Assets)',\n trailing12Key: 'Return on Assets (ROA)',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'roe',\n subtitle: '(Return on Equity)',\n trailing12Key: 'Return on Equity (ROE)',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'roce',\n subtitle: '(Return on Capital Employed)',\n trailing12Key: 'Return on Capital Employed (ROCE)',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'mkt_roi',\n subtitle: '(Return on Investment)',\n trailing12Key: 'ROI',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n key: 'asset_turnover_ratio',\n trailing12Key: 'Asset Turnover Ratio',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'cash',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n key: 'net_working_capital_ratio',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'net_working_capital',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n key: 'current_ratio',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n key: 'debt_to_equity',\n trailing12Key: 'Debt / Equity',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n key: 'senior_debt_to_ebitda',\n trailing12Key: 'Senior Debt / EBITDA',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'ratio',\n key: 'ebitda_to_annual_interest',\n trailing12Key: 'EBITDA / Annual Interest',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'accounts_receivable',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n key: 'ar_days',\n trailing12Key: 'Accounts Receivable Days',\n },\n {\n displayAll: true,\n chartType: 'stackedBars',\n format: 'money',\n key: 'ar_aging_summary',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'inventory',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n key: 'inventory_turnover_ratio',\n trailing12Key: 'Inventory Turnover Ratio',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'accounts_payable',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'decimal',\n key: 'ap_days',\n trailing12Key: 'Accounts Payable Days',\n },\n {\n displayAll: true,\n chartType: 'stackedBars',\n format: 'money',\n key: 'ap_aging_summary',\n },\n ],\n people: [\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'total_revenue_per_employee',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'operating_expenses_net_income_per_employee',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'sum_compensation_growth_rate',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'sum_taxes_and_benefits_growth_rate',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'sum_subcontractors_growth_rate',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'average_wages_and_salaries',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'money',\n key: 'average_benefits',\n },\n {\n displayAll: true,\n chartType: 'verticalBars',\n format: 'percent',\n key: 'turnover_rate',\n },\n {\n // only years\n displayAll: false,\n chartType: 'noChart',\n format: 'money',\n key: 'cost_of_turnover',\n }\n ],\n customers: {\n selected_items: [\n {\n formSection: 'Peerview Metrics',\n chartType: 'gauges',\n copy: 'Peerview Metric Gauges',\n key: 'peerview_gauges',\n relatedCheckedKey: 'peerview_gauges',\n checked: true,\n displayChart: true,\n sheet: 'customers_peerview_charts',\n label: 'Peerview Metrics',\n checked: true\n },\n {\n formSection: 'Spend', key: 'total_revenue', relatedCheckedKey: 'total_revenue', label: 'Revenue', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'total_revenue_growth_rate', relatedCheckedKey: 'total_revenue', label: 'Revenue Growth Rate', chartType: 'editableChart', checked: true },\n { key: 'total_revenue_impact_box', relatedCheckedKey: 'total_revenue', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'gross_profit', relatedCheckedKey: 'gross_profit', label: 'Gross Profit', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'gross_margin', relatedCheckedKey: 'gross_profit', label: 'Gross Profit Margin Chart', chartType: 'editableChart', checked: true },\n { key: 'gross_profit_impact_box', relatedCheckedKey: 'gross_profit', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'operating_profit', relatedCheckedKey: 'operating_profit', label: 'Operating Profit', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'operating_profit_chart', relatedCheckedKey: 'operating_profit', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'operating_profit_impact_box', relatedCheckedKey: 'operating_profit', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'operating_expenses_net_income', relatedCheckedKey: 'operating_expenses_net_income', label: 'Net Income', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'profit_margin', relatedCheckedKey: 'operating_expenses_net_income', label: 'Net Profit Margin Chart', chartType: 'editableChart', checked: true },\n { key: 'operating_expenses_net_income_impact_box', relatedCheckedKey: 'operating_expenses_net_income', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'total_customer_costs_sales_& marketing', relatedCheckedKey: 'total_customer_costs_sales_& marketing', label: 'Sales & Marketing', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'total_customer_costs_sales_& marketing_chart', relatedCheckedKey: 'total_customer_costs_sales_& marketing', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'total_customer_costs_sales_& marketing_impact_box', relatedCheckedKey: 'total_customer_costs_sales_& marketing', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'travel_entertainment_and_meals', relatedCheckedKey: 'travel_entertainment_and_meals', label: 'Travel, Entertainment & Meals', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'travel_entertainment_and_meals_chart', relatedCheckedKey: 'travel_entertainment_and_meals', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'travel_entertainment_and_meals_impact_box', relatedCheckedKey: 'travel_entertainment_and_meals', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Spend', key: 'customers_misc_professional_fees', relatedCheckedKey: 'customers_misc_professional_fees', label: 'Professional Fees - Customers', checked: true, sheet: 'customers_financial_detail',\n children: [\n { key: 'customers_misc_professional_fees_chart', relatedCheckedKey: 'customers_misc_professional_fees', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'customers_misc_professional_fees_impact_box', relatedCheckedKey: 'customers_misc_professional_fees', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Volatility', key: 'revenue_per_customer', relatedCheckedKey: 'revenue_per_customer', label: 'Revenue Per Client', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'revenue_per_customer_chart', relatedCheckedKey: 'revenue_per_customer', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'revenue_per_customer_impact_box', relatedCheckedKey: 'revenue_per_customer', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Volatility', key: 'gross_profit_per_customer', relatedCheckedKey: 'gross_profit_per_customer', label: 'Gross Profit Per Client', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'gross_profit_per_customer_chart', relatedCheckedKey: 'gross_profit_per_customer', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'gross_profit_per_customer_impact_box', relatedCheckedKey: 'gross_profit_per_customer', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Volatility', key: 'operating_expenses_net_income_per_customer', relatedCheckedKey: 'operating_expenses_net_income_per_customer', label: 'Net Profit Per Client', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'operating_expenses_net_income_per_customer_chart', relatedCheckedKey: 'operating_expenses_net_income_per_customer', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'operating_expenses_net_income_per_customer_impact_box', relatedCheckedKey: 'operating_expenses_net_income_per_customer', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'ROI', key: 'customer_roi', relatedCheckedKey: 'customer_roi', label: 'Marketing ROI', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'customer_roi_chart', relatedCheckedKey: 'customer_roi', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'customer_roi_impact_box', relatedCheckedKey: 'customer_roi', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'ROI', key: 'number_of_new_customers_needed_to_maintain_growth', relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth', label: 'Growth Requirements', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'number_of_new_customers_needed_to_maintain_growth_chart', relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth', label: 'Chart', chartType: 'columns', checked: true },\n { key: 'number_of_new_customers_needed_to_maintain_growth_impact_box', relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_10_percent', relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent', label: 'Customer Concentration - 10%', chartType: 'editableChart', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_10_percent_chart', relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'percent_of_sales_from_the_top_10_percent_impact_box', relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_25_percent', relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent', label: 'Customer Concentration - 25%', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_25_percent_chart', relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'percent_of_sales_from_the_top_25_percent_impact_box', relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent', label: 'Impact Box', checked: true },\n ]\n },\n {\n formSection: 'Concentration', key: 'percent_of_sales_from_the_top_50_percent', relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent', label: 'Customer Concentration - 50%', checked: true, sheet: 'customers_kpi',\n children: [\n { key: 'percent_of_sales_from_the_top_50_percent_chart', relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent', label: 'Chart', chartType: 'editableChart', checked: true },\n { key: 'percent_of_sales_from_the_top_50_percent_impact_box', relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent', label: 'Impact Box', checked: true },\n ]\n },\n ],\n dashboard_items: [\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_revenue_growth_rate'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'gross_margin'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'profit_margin'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'revenue_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'gross_profit_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'operating_expenses_net_income_per_customer',\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'total_customer_costs_common_size_revenue'\n },\n {\n displayAll: true,\n chartType: 'editableChart',\n styles: editableChartStyleDefault,\n format: 'percent',\n key: 'customer_roi'\n },\n {\n // only years\n displayAll: false,\n chartType: 'horizontalBars',\n format: 'percent',\n key: 'customer_concentration',\n keys: ['percent_of_sales_from_the_top_10_percent', 'percent_of_sales_from_the_top_25_percent', 'percent_of_sales_from_the_top_50_percent'],\n title: 'Customer Concentration',\n subtitle: '(Percent of Sales from Percent of Customers)',\n yearOnly: true\n },\n {\n displayAll: true,\n chartType: 'verticalBars',\n format: 'decimal',\n key: 'number_of_new_customers_needed_to_maintain_growth',\n title: 'Growth Requirements',\n subtitle: '(# of Additional Customers Needed to Maintain Growth)'\n },\n // {\n // // only years\n // displayAll: false,\n // chartType: 'lines',\n // format: 'money',\n // key: 'customer_retention',\n // keys: ['cltv_70', 'cltv_80', 'cltv_90'],\n // title: 'Customer Retention Value',\n // subtitle: '(Based on Annual Retention Rate over 7-Yr Period)',\n // yearOnly: true\n // }\n ],\n nested_dashboard_layout: [\n { i: 'peerview_gauges', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 4, moved: false, resizeHandles: ['se'], static: false },\n {\n i: 'total_revenue', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'total_revenue_growth_rate', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'total_revenue_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'gross_profit', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 2, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'gross_margin', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'gross_profit_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ],\n },\n {\n i: 'operating_profit', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 2, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'operating_profit_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 4, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'operating_profit_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ],\n },\n {\n i: 'operating_expenses_net_income', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 4, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'profit_margin', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'operating_expenses_net_income_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'total_customer_costs_sales_& marketing', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 6, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'total_customer_costs_sales_& marketing_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'total_customer_costs_sales_& marketing_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'travel_entertainment_and_meals', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'travel_entertainment_and_meals_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'travel_entertainment_and_meals_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'customers_misc_professional_fees', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'customers_misc_professional_fees_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'customers_misc_professional_fees_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'revenue_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'revenue_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'revenue_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'gross_profit_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'gross_profit_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'gross_profit_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'operating_expenses_net_income_per_customer', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'operating_expenses_net_income_per_customer_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'operating_expenses_net_income_per_customer_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'customer_roi', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'customer_roi_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'customer_roi_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'number_of_new_customers_needed_to_maintain_growth', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'number_of_new_customers_needed_to_maintain_growth_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'number_of_new_customers_needed_to_maintain_growth_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_10_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_10_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_10_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_25_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_25_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_25_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n {\n i: 'percent_of_sales_from_the_top_50_percent', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 8, w: 3, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 12, moved: false, resizeHandles: ['se'], static: false,\n layout: [\n { i: 'percent_of_sales_from_the_top_50_percent_chart', isBounded: false, isDraggable: true, isResizable: true, x: 0, y: 0, w: 2, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false },\n { i: 'percent_of_sales_from_the_top_50_percent_impact_box', isBounded: false, isDraggable: true, isResizable: true, x: 4, y: 0, w: 1, h: 2, minW: 2, minH: 2, maxW: 6, maxH: 6, moved: false, resizeHandles: ['se'], static: false }\n ]\n },\n ]\n }\n};\n\nconst mergeItems = (report, savedSelectedItemsArr, savedLayoutArr) => {\n let setSelectedItems, setLayout;\n let newSelectedItems = [];\n let newLayout = [];\n let testLayout = [];\n\n if (report === 'money') {\n setSelectedItems = moneyCharts['peerview_charts']\n setLayout = defaultLayouts['money_peerview_charts']\n } else if (report === 'people') {\n setSelectedItems = peopleCharts['peerview_charts']\n setLayout = defaultLayouts['people_peerview_charts']\n } else if (report === 'customers') {\n setSelectedItems = customerCharts['peerview_charts']\n setLayout = defaultLayouts['customers_peerview_charts']\n } else {\n setSelectedItems = pageCharts[report]['selected_items']\n setLayout = pageCharts[report]['nested_dashboard_layout']\n }\n\n if (savedSelectedItemsArr) {\n setSelectedItems.forEach((setItem) => {\n let savedSelection = savedSelectedItemsArr.find(saved => saved.key === setItem.key)\n if (savedSelection) {\n savedSelection.copy = setItem.copy\n\n if (setItem.children && savedSelection.children) {\n let selectionChildren = []\n setItem.children.forEach((setChild) => {\n let savedChild = savedSelection.children.find(savedChild => savedChild.key === setChild.key)\n savedChild ? selectionChildren.push(savedChild) : selectionChildren.push(setChild)\n })\n\n savedSelection.children = selectionChildren;\n newSelectedItems.push(savedSelection)\n } else if (setItem.children && !savedSelection.children) {\n savedSelection.children = setItem.children\n newSelectedItems.push(savedSelection)\n } else {\n newSelectedItems.push(savedSelection)\n }\n } else {\n newSelectedItems.push(setItem)\n }\n })\n } else {\n newSelectedItems = setSelectedItems;\n }\n\n newSelectedItems.forEach((s) => {\n let childLayout = []\n if (s.checked) {\n // find saved layout obj\n let savedLayoutObj = savedLayoutArr ? savedLayoutArr.find(savedLay => savedLay.i === s.key) : null;\n\n if (s.children) {\n // if saved item was a checked parent, then going to have more than 1 child\n if (savedLayoutObj) {\n let trueChildren = s.children.filter(child => child.checked)\n if (trueChildren.length > 1) {\n trueChildren.forEach(child => {\n let savedChildObj = savedLayoutObj.layout ? savedLayoutObj.layout.find(l => l.i === child.key) : null;\n\n if (savedChildObj) {\n childLayout.push(savedChildObj)\n } else {\n let setLayoutObj = setLayout.find(setLay => setLay.i === s.key)\n let setChildObj = setLayoutObj.layout.find(ll => ll.i === child.key)\n childLayout.push(setChildObj)\n }\n })\n savedLayoutObj.layout = childLayout;\n newLayout.push(savedLayoutObj)\n }\n } else {\n let setLayoutObj = setLayout.find(setLay => setLay.i === s.key)\n let trueChilds = s.children.filter(child => child.checked)\n // only one child was checked\n if (trueChilds.length === 1) {\n let setChildObj = setLayoutObj.layout.find(childLay => childLay.i === trueChilds[0].key)\n let savedChildObj = savedLayoutArr ? savedLayoutArr.find(savedChildLay => savedChildLay.i === trueChilds[0].key) : null;\n savedChildObj ? newLayout.push(savedChildObj) : newLayout.push(setChildObj)\n }\n\n if (trueChilds.length > 1) {\n trueChilds.forEach(c => {\n let setChildObj = setLayoutObj.layout.find(childLay => childLay.i === c.key)\n let savedChildObj = savedLayoutArr ? savedLayoutArr.find(savedChildLay => savedChildLay.i === c.key) : null;\n savedChildObj ? childLayout.push(savedChildObj) : childLayout.push(setChildObj)\n })\n setLayoutObj.layout = childLayout;\n newLayout.push(setLayoutObj)\n }\n }\n } else {\n if (savedLayoutObj) {\n newLayout.push(savedLayoutObj)\n } else {\n let setLayoutObj = setLayout.find(setLay => setLay.i === s.key)\n newLayout.push(setLayoutObj)\n }\n }\n }\n })\n\n return { layout: newLayout, selectedItems: newSelectedItems };\n}\n\nconst layoutMaker = (item, num = 0, parentHeight = 0, parentWidth = 0) => {\n let xPos = 0\n let yPos = 0\n let width = 2\n let height = 2\n let draggable = true\n let resizable = true\n\n if (item.key === 'versus') {\n xPos = 0\n yPos = 0\n width = 6\n height = 2\n resizable = false\n } else if (item.key.includes('trend')) {\n xPos = 0\n yPos = 0\n width = 6\n height = 2\n resizable = false\n } else if (item.key === 'pnl_combo_view') {\n xPos = 0\n yPos = 0\n width = 3\n height = 2\n } else if (item.key.includes('_gauges')) {\n xPos = 0\n yPos = 0\n width = 6\n height = 1\n resizable = false\n } else if (item.key === 'my_notes' || item.key === 'money_report_notes') {\n xPos = 0\n yPos = Infinity\n width = 3\n height = 1\n draggable = false\n } else if (item.key === 'quadrant_growth_profitability' || item.key === 'quadrant_leverage_cash_flow') {\n xPos = 0\n yPos = Infinity\n width = 3\n height = 2\n } else if (item.key.includes('impact')) {\n xPos = 2\n yPos = 0\n width = 1\n height = 2\n } else if (item.key.includes('_bar_chart') || item.key.includes('_chart')) {\n xPos = 0\n yPos = Infinity\n width = 2\n height = 2\n } else if (item.key.includes('_notes') && item.key !== 'my_notes') {\n xPos = 0\n yPos = Infinity\n width = 3\n height = 1\n } else {\n xPos = 0\n yPos = 0\n width = 2\n height = 2\n }\n\n return {\n i: item.key,\n isBounded: false,\n isDraggable: draggable,\n isResizable: resizable,\n x: xPos,\n y: yPos,\n w: width,\n h: height,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se'],\n metricRow: item['metricRow'] ? item['metricRow'] : item\n };\n}\n\nexport { defaultLayouts, moneyCharts, peopleCharts, customerCharts, pageCharts, mergeItems, layoutMaker }","import { moneyCharts } from \"../reports/charts\";\nconst peopleKpiMoneyKeys = ['total_revenue_per_employee', 'operating_expenses_net_income_per_employee', 'average_wages_and_salaries', 'average_benefits', 'cost_of_turnover', 'number_of_nurses', 'number_of_assistants', 'number_of_office_employees', 'number_of_doctors', 'number_of_hygienists', 'number_of_dentists']\nconst peopleKpiNoFormatKeys = ['total_number_of_employees', 'number_of_employees_who_left']\nconst healthCareRevenueChildKeys = ['gross_charges', 'adjustments', 'net_practice_charges', 'collections']\nexport default class AccountTree {\n constructor({ tree, page = '', pad = '', sheet = '', displayByView = 'yearsView', selectedMetrics = [], dashBoardEditor = false }) {\n let sheetName = sheet\n if (page === 'people' && sheet === 'kpi_people') {\n sheetName = 'people_kpi'\n } else if (page === 'people' && sheet === 'pnl') {\n sheetName = 'people_financial_detail'\n }\n\n this.tree = tree;\n this.page = page;\n this.pad = pad;\n this.pageUnspecifed = !page\n this.i = 0;\n this.sheet = sheetName;\n this.displayByView = displayByView;\n this.selectedMetrics = selectedMetrics;\n this.dashBoardEditor = dashBoardEditor;\n }\n\n copy = () => {\n const copyHash = {};\n this.forEach(({ key, copy }) => {\n copyHash[key] = copy;\n })\n return copyHash;\n }\n\n forEach = (callback) => {\n this.callback = callback;\n\n if (this.dashBoardEditor && this.tree && !this.tree.hide) {\n const keys = Object.keys(this.tree.children).sort((a, b) => this.tree.children[a].index - this.tree.children[b].index);\n keys.forEach(key => {\n this.traverse(key, this.tree.children[key], 0);\n });\n } else if (this.tree && !this.dashBoardEditor) {\n const keys = Object.keys(this.tree.children).sort((a, b) => this.tree.children[a].index - this.tree.children[b].index);\n keys.forEach(key => {\n this.traverse(key, this.tree.children[key], 0);\n });\n }\n }\n\n callbackWrapper = (args) => {\n if (this.pageUnspecifed || args[this.page]) this.callback(args);\n }\n\n getAllDescendantChartKeys = (arg, descendantsList = []) => {\n let descendants = descendantsList;\n if ((arg.children)) {\n const keys = Object.keys(arg.children).sort((a, b) => arg.children[a].index - arg.children[b].index);\n keys.forEach((k) => {\n let child = arg.children[k]\n if (child.createChart) {\n descendants.push(k)\n if (arg.children[k].children) {\n this.getAllDescendantChartKeys(arg.children[k], descendants)\n }\n }\n })\n return descendants;\n } else {\n return descendants;\n }\n }\n\n traverse = (key, tree, n, parentKey = '', parent_prefix = '') => {\n if (this.dashBoardEditor && tree.hide) {\n return null\n }\n let fullCopy = tree.prefix && parent_prefix ? `${parent_prefix} - ${tree.copy}` : tree.copy\n if (healthCareRevenueChildKeys.includes(tree.real_key)) { return }\n const padding = tree.no_left_padding ? '' : '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0'.repeat(n);\n let copy = tree.copy;\n const pageOptions = tree[this.page] || {};\n const continueTraversing = this.pageUnspecifed || !pageOptions.stop || pageOptions.stop === 'false';\n const chart = tree.chartType ? tree.chartType : this.sheet === 'pnl' || this.sheet === 'people_financial_detail' ? 'pnlSnapShot' : 'balSnapShot';\n let selectedMetric = this.selectedMetrics.find(c => c.key === key)\n let relatedCheckedKey = tree.relatedCheckedKey || key;\n\n if (tree[this.displayByView] || this.sheet === 'pnl' || this.sheet === 'people_financial_detail' || this.sheet === 'balance_sheet' || this.sheet === '') {\n let defaultLayout = null;\n let newLayout = [];\n let relatedCharts = null;\n let noCheckKeys = ['total_costs', 'total_people_costs', 'total_customer_costs', 'total_operations', 'total_operating_expenses', 'total_other_costs', 'total_assets', 'total_current_assets', 'total_fixed_assets', 'total_current_liabilities', 'net_worth', 'total_liabilities_and_equity', 'operating_activities', 'investing_activities', 'financing_activities', 'free_cash_flow_section', 'liquidity_title', 'profitability_title', 'activity_title', 'leverage_title', 'cash_flow_title', 'ebitda_title']\n if (key === 'inventory_turnover_ratio') {\n relatedCharts = moneyCharts['money'].filter(c => c['relatedCheckedKey'] === 'inventory')\n relatedCheckedKey = 'inventory'\n defaultLayout = [...relatedCharts, { checked: false, copy: 'Impact Box', key: 'inventory_impact_box', relatedCheckedKey: 'inventory' }, { checked: false, copy: 'Notes', key: 'inventory_notes', relatedCheckedKey: 'inventory' }]\n } else if (key === 'ar_days') {\n relatedCharts = moneyCharts['money'].filter(c => c['relatedCheckedKey'] === 'accounts_receivable')\n relatedCheckedKey = 'accounts_receivable'\n defaultLayout = [...relatedCharts, { checked: false, copy: 'Impact Box', key: 'accounts_receivable_impact_box', relatedCheckedKey: 'accounts_receivable' }, { checked: false, copy: 'Notes', key: 'accounts_receivable_notes', relatedCheckedKey: 'accounts_receivable' }]\n } else if (key === 'ap_days') {\n relatedCharts = moneyCharts['money'].filter(c => c['relatedCheckedKey'] === 'accounts_payable')\n relatedCheckedKey = 'accounts_payable'\n defaultLayout = [...relatedCharts, { checked: false, copy: 'Impact Box', key: 'accounts_payable_impact_box', relatedCheckedKey: 'accounts_payable' }, { checked: false, copy: 'Notes', key: 'accounts_payable_notes', relatedCheckedKey: 'accounts_payable' }]\n } else if (key === 'gross_profit_common_size_revenue') {\n relatedCharts = moneyCharts['money'].filter(c => c['relatedCheckedKey'] === 'gross_profit')\n relatedCheckedKey = 'gross_profit'\n defaultLayout = [...relatedCharts, { checked: false, copy: 'Impact Box', key: 'gross_profit_impact_box', relatedCheckedKey: 'gross_profit' }, { checked: false, copy: 'Notes', key: 'gross_profit_notes', relatedCheckedKey: 'gross_profit' }]\n } else if (key === 'operating_profit_common_size_revenue') {\n relatedCheckedKey = 'operating_profit'\n defaultLayout = [{ checked: false, copy: 'Chart', key: 'operating_profit_bar_chart', relatedCheckedKey: 'operating_profit' }, { checked: false, copy: 'Impact Box', key: 'operating_profit_impact_box', relatedCheckedKey: 'operating_profit' }, { checked: false, copy: 'Notes', key: 'operating_profit_notes', relatedCheckedKey: 'operating_profit' }]\n } else {\n let anyRelatedCharts = moneyCharts['money'].filter(c => c['relatedCheckedKey'] === key)\n if (anyRelatedCharts.length > 0) {\n defaultLayout = [...anyRelatedCharts, { checked: false, copy: 'Impact Box', key: key + '_impact_box', relatedCheckedKey: key }, { checked: false, copy: 'Notes', key: key + '_notes', relatedCheckedKey: key }]\n } else {\n defaultLayout = [{ checked: false, copy: 'Chart', key: key + '_bar_chart', relatedCheckedKey: key }, { checked: false, copy: 'Impact Box', key: key + '_impact_box', relatedCheckedKey: key }, { checked: false, copy: 'Notes', key: key + '_notes', relatedCheckedKey: key }]\n }\n }\n\n if (selectedMetric && selectedMetric.layout) {\n defaultLayout.forEach((dl) => {\n let existingChildLayout = selectedMetric.layout.find(l => l.key === dl.key)\n existingChildLayout ? newLayout.push(existingChildLayout) : newLayout.push(dl)\n })\n } else {\n newLayout = defaultLayout;\n }\n\n let finalFormat = tree.format || 'percent'\n\n if (this.sheet === 'people_kpi') {\n if (peopleKpiMoneyKeys.includes(key)) {\n finalFormat = 'money'\n } else if (peopleKpiNoFormatKeys.includes(key)) {\n finalFormat = ''\n }\n } else if (this.sheet !== 'people_kpi') {\n if (tree.copy === 'EBITDA') { finalFormat = 'money' }\n }\n\n if (tree.children && continueTraversing) {\n const keys = Object.keys(tree.children).sort((a, b) => tree.children[a].index - tree.children[b].index);\n // handle parent header\n if (!tree.no_header) {\n // tree.pad = tree.pad && !tree.children;\n let finalKey = key === 'total_operating_expenses' || key === 'net_worth' ? key + '_header' : key\n this.callbackWrapper({\n key: finalKey,\n relatedCheckedKey,\n parentKey,\n padding,\n header: true,\n dropDown: true,\n ...tree,\n ...pageOptions,\n i: this.i,\n copy: this.sheet === 'kfis' && this.displayByView === 'monthlyView' && tree.trailing12Metric ? tree.copy + ' (12)' : tree.copy,\n fullCopy: fullCopy,\n checked: selectedMetric && selectedMetric.checked,\n chartType: chart,\n format: finalFormat,\n // layout: key === 'net_change_cash' ? newLayout : null,\n layout: tree.displayChart ? newLayout : [],\n sheet: this.sheet\n });\n };\n\n this.i = this.i + 1;\n // sort by index\n // const keys = Object.keys(tree.children).sort((a, b) => tree.children[a].index - tree.children[b].index);\n keys.forEach(k => {\n this.traverse(k, tree.children[k], (tree.no_header || !continueTraversing ? n : n + 1), key, tree.parent_prefix)\n });\n\n // handle parent total\n if (tree.total || pageOptions.total) {\n this.callbackWrapper({\n key, padding,\n relatedCheckedKey,\n header: false,\n ...tree,\n ...tree.total,\n ...pageOptions,\n ...pageOptions.total,\n i: this.i,\n copy: this.sheet === 'kfis' && this.displayByView === 'monthlyView' && tree.trailing12Metric ? tree.total.copy + ' (12)' : tree.total.copy,\n fullCopy: fullCopy,\n checked: selectedMetric && selectedMetric.checked,\n displayChart: tree.displayTotalOnChart,\n chartType: chart,\n format: finalFormat,\n layout: tree.displayTotalOnChart ? newLayout : [],\n sheet: this.sheet\n });\n this.i = this.i + 1;\n };\n\n } else if (tree.copy) {\n if (parentKey) {\n this.callbackWrapper({\n key, parentKey,\n relatedCheckedKey,\n padding,\n header: false,\n ...tree,\n ...pageOptions,\n i: this.i,\n copy: this.sheet === 'kfis' && this.displayByView === 'monthlyView' && tree.trailing12Metric ? tree.copy + ' (12)' : tree.copy,\n fullCopy: fullCopy,\n checked: selectedMetric && selectedMetric.checked,\n chartType: chart,\n format: finalFormat,\n layout: tree.displayChart ? newLayout : [],\n sheet: this.sheet\n });\n this.i = this.i + 1;\n } else {\n this.callbackWrapper({\n key,\n relatedCheckedKey,\n padding,\n header: false,\n ...tree,\n ...pageOptions,\n i: this.i,\n copy: this.sheet === 'kfis' && this.displayByView === 'monthlyView' && tree.trailing12Metric ? tree.copy + ' (12)' : tree.copy,\n fullCopy: fullCopy,\n checked: selectedMetric && selectedMetric.checked,\n chartType: chart,\n format: finalFormat,\n layout: tree.displayChart ? newLayout : [],\n sheet: this.sheet\n });\n this.i = this.i + 1;\n }\n };\n\n // handle pad row\n if (this.pad && (tree.total || tree.pad) && !tree.no_pad) {\n this.callbackWrapper({\n padRow: true,\n relatedCheckedKey,\n i: this.i,\n ...tree,\n chartType: chart,\n copy: this.sheet === 'kfis' && this.displayByView === 'monthlyView' && tree.trailing12Metric ? tree.copy + ' (12)' : tree.copy,\n fullCopy: fullCopy,\n format: finalFormat,\n layout: tree.displayChart ? newLayout : [],\n sheet: this.sheet\n });\n this.i = this.i + 1;\n }\n }\n }\n}\n","import React from \"react\";\n\nconst reportColors = {\n\tmoney: \"#7DB057\",\n\tpeople: \"#00AEEF\",\n\tcustomers: \"#542667\"\n}\n\nconst LinesChart = ({ report }) => {\n\tlet reportColor = reportColors[report]\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst ColumnsChart = ({ report }) => {\n\tlet reportColor = reportColors[report]\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst LineColChart = ({ report }) => {\n\tlet reportColor = reportColors[report]\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst ColLineChart = ({ report }) => {\n\tlet reportColor = reportColors[report]\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst CheckMark = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst XMark = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst ThumbsUp = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nconst ThumbsDown = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport { LinesChart, ColumnsChart, LineColChart, ColLineChart, CheckMark, XMark, ThumbsUp, ThumbsDown };","const padding = '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0'\n\nlet customersFinancialDetailRows = [\n {\n copy: 'Revenue',\n header: false,\n key: 'total_revenue',\n relatedCheckedKey: 'total_revenue',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n layout: [\n { chartType: 'editableChart', key: 'total_revenue_growth_rate', copy: 'Revenue Growth Rate', checked: false, relatedCheckedKey: 'total_revenue' },\n { key: 'total_revenue_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'total_revenue' },\n { key: 'total_revenue_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'total_revenue' }\n ]\n },\n {\n copy: 'Gross Profit',\n header: false,\n key: 'gross_profit',\n relatedCheckedKey: 'gross_profit',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n percentOfRevenueKey: 'total_costs',\n layout: [\n { key: 'gross_margin', copy: 'Gross Profit Margin Chart', checked: false, relatedCheckedKey: 'gross_profit', percentOfRevenueKey: 'total_costs' },\n { key: 'gross_profit_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'gross_profit' },\n { key: 'gross_profit_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'gross_profit' }\n ]\n },\n {\n copy: 'Operating Profit',\n header: false,\n key: 'operating_profit',\n relatedCheckedKey: 'operating_profit',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n layout: [\n { key: 'operating_profit_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'operating_profit' },\n { key: 'operating_profit_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'operating_profit' },\n { key: 'operating_profit_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'operating_profit' }\n ]\n },\n {\n copy: 'Net Income',\n header: false,\n key: 'operating_expenses_net_income',\n relatedCheckedKey: 'operating_expenses_net_income',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n percentOfRevenueKey: 'operating_expenses_net_income',\n layout: [\n { key: 'profit_margin', copy: 'Net Profit Margin Chart', checked: false, relatedCheckedKey: 'operating_expenses_net_income', percentOfRevenueKey: 'operating_expenses_net_income' },\n { key: 'operating_expenses_net_income_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'operating_expenses_net_income' },\n { key: 'operating_expenses_net_income_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'operating_expenses_net_income' }\n ]\n },\n {\n copy: padding,\n header: true,\n key: 'empty_finanical_detail',\n sheet: 'customers_financial_detail',\n },\n {\n copy: 'Sales & Marketing',\n header: false,\n key: 'total_customer_costs_sales_& marketing',\n relatedCheckedKey: 'total_customer_costs_sales_& marketing',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n layout: [\n { key: 'total_customer_costs_sales_& marketing_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'total_customer_costs_sales_& marketing' },\n { key: 'total_customer_costs_sales_& marketing_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'total_customer_costs_sales_& marketing' },\n { key: 'total_customer_costs_sales_& marketing_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'total_customer_costs_sales_& marketing' }\n ]\n },\n {\n copy: 'Travel, Entertainment & Meals',\n header: false,\n key: 'travel_entertainment_and_meals',\n relatedCheckedKey: 'travel_entertainment_and_meals',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n layout: [\n { key: 'travel_entertainment_and_meals_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'travel_entertainment_and_meals' },\n { key: 'travel_entertainment_and_meals_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'travel_entertainment_and_meals' },\n { key: 'travel_entertainment_and_meals_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'travel_entertainment_and_meals' }\n ]\n },\n {\n copy: 'Professional Fees - Customers',\n header: false,\n key: 'customers_misc_professional_fees',\n relatedCheckedKey: 'customers_misc_professional_fees',\n checked: false,\n sheet: 'customers_financial_detail',\n displayChart: true,\n format: 'percent',\n layout: [\n { key: 'customers_misc_professional_fees_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'customers_misc_professional_fees' },\n { key: 'customers_misc_professional_fees_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'customers_misc_professional_fees' },\n { key: 'customers_misc_professional_fees_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'customers_misc_professional_fees' }\n ]\n },\n]\n\nconst customersKPIsFormat = (displayColsBy = '', reportPeriod = '') => {\n let trailing12Abbr = '';\n let monthOverMonthAbbr = '';\n\n if (displayColsBy === 'Months' || reportPeriod === 'Year to Date') {\n trailing12Abbr = '(T12)';\n monthOverMonthAbbr = '(MoM)'\n }\n\n return [\n {\n key: 'analysis_per_client_title',\n copy: `Analysis per Client ${trailing12Abbr}`,\n format: 'header',\n header: true,\n display: true,\n sheet: 'customers_kpi',\n },\n {\n key: 'total_revenue',\n relatedCheckedKey: 'total_revenue',\n copy: 'Revenue',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { chartType: 'editableChart', key: 'total_revenue_growth_rate', copy: 'Revenue Growth Rate', checked: false, relatedCheckedKey: 'total_revenue' },\n { key: 'total_revenue_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'total_revenue' },\n { key: 'total_revenue_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'total_revenue' }\n ]\n },\n {\n key: 'revenue_per_customer',\n relatedCheckedKey: 'revenue_per_customer',\n copy: 'Revenue Per Client',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'revenue_per_customer_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'revenue_per_customer' },\n { key: 'revenue_per_customer_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'revenue_per_customer' },\n { key: 'revenue_per_customer_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'revenue_per_customer' }\n ]\n },\n {\n key: 'gross_profit',\n relatedCheckedKey: 'gross_profit',\n copy: 'Gross Profit',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'gross_margin', copy: 'Gross Profit Margin Chart', checked: false, relatedCheckedKey: 'gross_profit' },\n { key: 'gross_profit_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'gross_profit' },\n { key: 'gross_profit_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'gross_profit' }\n ]\n },\n {\n key: 'gross_profit_per_customer',\n relatedCheckedKey: 'gross_profit_per_customer',\n copy: 'Gross Profit Per Client',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'gross_profit_per_customer_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'gross_profit_per_customer' },\n { key: 'gross_profit_per_customer_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'gross_profit_per_customer' },\n { key: 'gross_profit_per_customer_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'gross_profit_per_customer' }\n ]\n },\n {\n key: 'operating_expenses_net_income',\n relatedCheckedKey: 'operating_expenses_net_income',\n copy: 'Net Profit',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'profit_margin', copy: 'Net Profit Margin Chart', checked: false, relatedCheckedKey: 'operating_expenses_net_income' },\n { key: 'operating_expenses_net_income_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'operating_expenses_net_income' },\n { key: 'operating_expenses_net_income_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'operating_expenses_net_income' }\n ]\n },\n {\n key: 'operating_expenses_net_income_per_customer',\n relatedCheckedKey: 'operating_expenses_net_income_per_customer',\n copy: 'Net Profit Per Client',\n format: 'money',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'operating_expenses_net_income_per_customer_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'operating_expenses_net_income_per_customer' },\n { key: 'operating_expenses_net_income_per_customer_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'operating_expenses_net_income_per_customer' },\n { key: 'operating_expenses_net_income_per_customer_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'operating_expenses_net_income_per_customer' }\n ]\n },\n {\n key: 'empty_row_1',\n copy: padding,\n format: 'header',\n display: true,\n sheet: 'customers_kpi',\n },\n {\n key: 'marketing_spend_roi_title',\n relatedCheckedKey: 'marketing_spend_roi_title',\n copy: 'Marketing Spend/ROI',\n format: 'header',\n header: true,\n display: true,\n sheet: 'customers_kpi',\n },\n {\n key: 'total_customer_costs_common_size_revenue',\n relatedCheckedKey: 'total_customer_costs_common_size_revenue',\n copy: 'Marketing Spend',\n format: 'percent',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'total_customer_costs_common_size_revenue_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'total_customer_costs_common_size_revenue' },\n { key: 'total_customer_costs_common_size_revenue_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'total_customer_costs_common_size_revenue' },\n { key: 'total_customer_costs_common_size_revenue_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'total_customer_costs_common_size_revenue' }\n ]\n },\n {\n key: 'customer_roi',\n relatedCheckedKey: 'customer_roi',\n copy: `Marketing ROI ${monthOverMonthAbbr}`,\n format: 'percent',\n display: true,\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'customer_roi_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'customer_roi' },\n { key: 'customer_roi_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'customer_roi' },\n { key: 'customer_roi_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'customer_roi' }\n ]\n },\n {\n key: 'number_of_new_customers_needed_to_maintain_growth',\n relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth',\n copy: 'Growth Requirements',\n format: 'wholeNumber',\n display: false,\n checked: false,\n padding: padding,\n displayChart: true,\n sheet: 'customers_kpi',\n layout: [\n { key: 'number_of_new_customers_needed_to_maintain_growth_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth' },\n { key: 'number_of_new_customers_needed_to_maintain_growth_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth' },\n { key: 'number_of_new_customers_needed_to_maintain_growth_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'number_of_new_customers_needed_to_maintain_growth' }\n ]\n },\n {\n key: 'empty_row_2',\n copy: padding,\n format: 'header',\n display: true,\n sheet: 'customers_kpi',\n },\n {\n key: 'customer_concentration_title',\n copy: 'Customer Concentration',\n format: 'header',\n header: true,\n display: displayColsBy === 'Years' && reportPeriod !== 'Year to Date',\n sheet: 'customers_kpi',\n },\n {\n key: 'percent_of_sales_from_the_top_10_percent',\n relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent',\n copy: 'Top 10%',\n format: 'percent',\n display: displayColsBy === 'Years' && reportPeriod !== 'Year to Date',\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'percent_of_sales_from_the_top_10_percent_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent' },\n { key: 'percent_of_sales_from_the_top_10_percent_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent' },\n { key: 'percent_of_sales_from_the_top_10_percent_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_10_percent' }\n ]\n },\n {\n key: 'percent_of_sales_from_the_top_25_percent',\n relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent',\n copy: 'Top 25%',\n format: 'percent',\n display: displayColsBy === 'Years' && reportPeriod !== 'Year to Date',\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'percent_of_sales_from_the_top_25_percent_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent' },\n { key: 'percent_of_sales_from_the_top_25_percent_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent' },\n { key: 'percent_of_sales_from_the_top_25_percent_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_25_percent' }\n ]\n },\n {\n key: 'percent_of_sales_from_the_top_50_percent',\n relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent',\n copy: 'Top 50%',\n format: 'percent',\n display: displayColsBy === 'Years' && reportPeriod !== 'Year to Date',\n checked: false,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: true,\n layout: [\n { key: 'percent_of_sales_from_the_top_50_percent_chart', copy: 'Chart', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent' },\n { key: 'percent_of_sales_from_the_top_50_percent_impact_box', copy: 'Impact Box', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent' },\n { key: 'percent_of_sales_from_the_top_50_percent_notes', copy: 'Notes', checked: false, relatedCheckedKey: 'percent_of_sales_from_the_top_50_percent' }\n ]\n },\n {\n key: 'empty_row_3',\n copy: padding,\n format: 'header',\n display: displayColsBy === 'Years' && reportPeriod !== 'Year to Date',\n sheet: 'customers_kpi',\n },\n {\n key: 'client_data_title',\n copy: 'Client Data',\n format: 'header',\n header: true,\n display: true,\n sheet: 'customers_kpi',\n displayChart: false\n },\n {\n key: 'total_number_of_customers',\n relatedCheckedKey: 'total_number_of_customers',\n copy: 'Number of Clients',\n format: 'roundedDecimal',\n display: true,\n padding: padding,\n sheet: 'customers_kpi',\n displayChart: false\n },\n ]\n}\n\nconst updateCustomersRows = (selectedItems, customerRows) => {\n customerRows.forEach((row, i) => {\n let selectedIndex = selectedItems.findIndex(item => item.key === row.key || item.relatedCheckedKey === row.key)\n\n if (selectedIndex > -1) {\n customerRows[i]['checked'] = selectedItems[selectedIndex]['checked']\n\n if (customerRows[i]['layout']) {\n customerRows[i]['layout'].forEach((child, j) => {\n if (customerRows[i]['layout'] && selectedItems[selectedIndex]['layout']) {\n let selectedChilds = selectedItems[selectedIndex]['layout'].filter(l => l.checked)\n selectedChilds.forEach(s => {\n if (child.key === s.key) {\n customerRows[i]['layout'][j]['checked'] = true\n }\n })\n } else if (customerRows[i]['layout']) {\n if (child.key === selectedItems[selectedIndex].key) {\n customerRows[i]['layout'][j]['checked'] = selectedItems[selectedIndex]['checked']\n } else {\n customerRows[i]['layout'][j]['checked'] = false\n }\n }\n })\n }\n } else {\n customerRows[i]['checked'] = false\n\n if (customerRows[i]['layout']) {\n customerRows[i]['layout'].forEach((child, j) => {\n customerRows[i]['layout'][j]['checked'] = false\n })\n }\n }\n })\n return customerRows\n}\n\nconst addMetricRow = (layout) => {\n let allKpis = customersKPIsFormat('Years');\n return layout.map(l => {\n if (l.layout) {\n let financialDetail = customersFinancialDetailRows.find(f => f.key == l.i)\n let kpi = allKpis.find(k => k.key === l.i)\n\n if (l['metricRow']) {\n l['metricRow'] = financialDetail ? { ...financialDetail, ...l['metricRow'] } : kpi ? { ...kpi, ...l['metricRow'] } : {}\n } else {\n l['metricRow'] = financialDetail || kpi\n }\n }\n return l\n })\n}\n\nexport { customersFinancialDetailRows, customersKPIsFormat, updateCustomersRows, addMetricRow } ","const SurveyRadioAnswers = {\n satisfaction: {\n 'Very Unsatisfied': 1,\n 'Unsatisfied': 2,\n 'Neutral': 3,\n 'Satisfied': 4,\n 'Very Satisfied': 5\n },\n growth: {\n 'Big Decrease': 1,\n 'Slight Decrease': 2,\n 'Same': 3,\n 'Slight Increase': 4,\n 'Big Increase': 5\n },\n likelihood: {\n 'Very Unlikely': 1,\n 'Unlikely': 2,\n 'Neutral': 3,\n 'Likely': 4,\n 'Very likely': 5\n },\n concern: {\n 'Not At All Concerned': 1,\n 'Neutral': 2,\n 'Somewhat Concerned': 3,\n 'Very Concerned': 4,\n 'Extremely Concerned': 5\n },\n effectivity: {\n 'Waste Of Time': 1,\n 'Ineffective': 2,\n 'Okay': 3,\n 'Good': 4,\n 'Very Effective': 5,\n },\n importance: {\n 'Unimportant': 1,\n 'Low Importance': 2,\n 'Neutral': 3,\n 'Important': 4,\n 'Very Important': 5,\n },\n alignment: {\n 'not_applicable': 1,\n 'out_of_sync': 2,\n 'not_so_close': 3,\n 'close': 4,\n 'in_sync': 5,\n },\n rating: {\n 'not_applicable': 1,\n 'need_improvement': 2,\n 'neutral': 3,\n 'good': 4,\n 'very_good': 5,\n },\n growthPercentage: {\n 'up_10_percent': 1,\n 'up_20_percent': 2,\n 'up_30_percent': 3,\n 'up_40_percent': 4,\n 'up_50_percent': 5,\n },\n optionalSatisfaction: {\n 'not_applicable': 1,\n 'unsatisfied': 2,\n 'neutral': 3,\n 'satisfied': 4,\n 'very_satisfied': 5,\n },\n competition: {\n 'Price': 1,\n 'Quality': 2,\n 'Compatibility': 3,\n 'Timeliness': 4,\n },\n competitionChart: {\n competitive_advantages_price: 'Price',\n competitive_advantages_quality: 'Quality',\n competitive_advantages_compatibility: 'Compatibility',\n competitive_advantages_timeliness: 'Timeliness'\n },\n inBoundMarketing: {\n 'email': 1,\n 'social_media': 2,\n 'seo': 3,\n 'podcasts': 4,\n 'blogs': 5,\n 'videos': 6,\n 'other': 7,\n 'forums': 8,\n },\n outBoundMarketing: {\n 'pay_per_click': 1,\n 'display_and_banner_ads': 2,\n 'daily_deals': 3,\n 'sponsorships': 4,\n 'direct_mail': 5,\n 'telemarketing': 6,\n 'offline_ads': 7,\n }\n}\n\n// const CoreSurvey = {\n// total_number_of_employees: : yearly,\n// number_of_employees_who_left: : yearly,\n// total_number_of_customers: : yearly,\n// percent_of_customers_that_are_new: : yearly,\n// percent_of_sales_from_the_top_50_percent: : yearly,\n// percent_of_sales_from_the_top_25_percent: : yearly,\n// percent_of_sales_from_the_top_10_percent: : yearly,\n// officers_compensation: : yearly,\n// }\n\n// // One Year Expectations\n// one_year_revenue: { type: radio, answers: SurveyRadioAnswers[growth] },\n// one_year_margins: { type: radio, answers: SurveyRadioAnswers[growth] },\n// one_year_profitability: { type: radio, answers: SurveyRadioAnswers[growth] },\n// one_year_explanation: { type: text },\n// // Three Year Expectations\n// three_year_revenue: { type: radio, answers: SurveyRadioAnswers[growth] },\n// three_year_margins: { type: radio, answers: SurveyRadioAnswers[growth] },\n// three_year_profitability: { type: radio, answers: SurveyRadioAnswers[growth] },\n// three_year_explanation: { type: text },\n\n// reduce_debt: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// leverage_new_debt: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// hold_cash: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// invest_cash: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// reduce_indirect_costs: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// reduce_direct_costs: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n// capital_expenditures: { type: radio, answers: SurveyRadioAnswers[likelihood] },\n\nconst SurveyCharts = {\n money: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'one_year_expectations',\n surveyKeys: ['one_year_revenue', 'one_year_margins', 'one_year_profitability'],\n categories: ['Revenue', 'Margins', 'Profitability'],\n title: 'One Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'one_year_explanation',\n surveyKeys: ['one_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'three_year_expectations',\n surveyKeys: ['three_year_revenue', 'three_year_margins', 'three_year_profitability'],\n categories: ['Revenue', 'Margins', 'Profitability'],\n title: 'Three Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'three_year_explanation',\n surveyKeys: ['three_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'priorities',\n surveyKeys: ['reduce_debt', 'leverage_new_debt', 'hold_cash', 'invest_cash', 'reduce_indirect_costs', 'reduce_direct_costs', 'capital_expenditures'],\n categories: ['Reduce debt', 'Leverage new debt', 'Hold cash', 'Invest cash', 'Reduce indirect costs', 'Reduce direct costs', 'Capital expenditure(s)'],\n title: 'Priorities',\n options: SurveyRadioAnswers['likelihood']\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'concerns',\n surveyKeys: ['increased_taxes', 'increased_regulation', 'lingering_economic_uncertainty', 'access_to_credit', 'interest_rates', 'increased_cost_of_labor', 'impact_of_healthcare_on_bottom_line', 'downward_pressure_on_prices', 'growth_and_profitability', 'wildcard_risks', 'increased_competition', 'other_concerns'],\n categories: ['Increased taxes', 'Increased regulation', 'Lingering economic uncertainty', 'Access to credit', 'Interest rates', 'Increased cost of labor', 'Impact of healthcare on bottom line', 'Downward pressure on prices', 'Growth & Profitability', 'Wildcard risks', 'Increased competition', 'Other'],\n title: 'Concerns',\n options: SurveyRadioAnswers['concern']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'any_significant_change_in_the_way_you_do_business',\n surveyKeys: ['any_significant_change_in_the_way_you_do_business'],\n title: 'If you anticipate any significant change in the way you do business, please explain:'\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'additional_comments_youd_like_to_make',\n surveyKeys: ['additional_comments_youd_like_to_make'],\n title: \"If there are additional comments you'd like to make, please use the space provided:\"\n },\n ],\n people: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'one_year_expectations',\n surveyKeys: ['one_year_number_of_employees', 'one_year_number_of_outside_contractors', 'one_year_costs', 'one_year_salaries', 'one_year_benefits'],\n categories: ['# of employees', '# of outside contractors', 'Costs', 'Salaries', 'Benefits'],\n title: 'One Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'one_year_explanation',\n surveyKeys: ['one_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'three_year_expectations',\n surveyKeys: ['one_year_number_of_employees', 'one_year_number_of_outside_contractors', 'one_year_costs', 'one_year_salaries', 'one_year_benefits'],\n categories: ['# of employees', '# of outside contractors', 'Costs', 'Salaries', 'Benefits'],\n title: 'Three Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'three_year_explanation',\n surveyKeys: ['three_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'priorities',\n surveyKeys: ['strategic_alignment_priorities', 'planning_and_policy_development_priorities', 'organizational_design_priorities', 'performance_management_priorities', 'wellness_priorities', 'human_capital_analytics_priorities', 'benefits_administration_priorities', 'increase_roi_of_human_capital_priorities', 'cuts_costs_priorities', 'employee_retention_priorities', 'employee_acquisition_priorities', 'outsourcing_priorities'],\n categories: ['Strategic alignment', 'Planning and policy development', 'Organizational design', 'Performance management', 'Wellness', 'Human capital analytics', 'Benefits administration', 'Increase ROI of human capital', 'Cuts costs', 'Employee retention', 'Employee acquisition', 'Outsourcing'],\n title: 'Priorities',\n options: SurveyRadioAnswers['importance']\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'concerns',\n surveyKeys: ['healthcare_costs_concerns', 'payroll_taxes_concerns', 'increased_regulation_concerns', 'ability_to_remain_competitive_concerns', 'employee_acquisition_concerns', 'employee_retention_concerns', 'succession_planning_and_bench_strength_concerns', 'economic_uncertainty_concerns', 'wildcard_risks_concerns', 'other_concerns'],\n categories: ['Healthcare costs', 'Payroll taxes', 'Increased regulation', 'Ability to remain competitive', 'Employee acquisition', 'Employee retention', 'Succession planning and bench strength', 'Economic uncertainty', 'Wildcard risks', 'Other'],\n title: 'Concerns',\n options: SurveyRadioAnswers['concern']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'any_significant_change_in_the_way_you_do_business',\n surveyKeys: ['any_significant_change_in_the_way_you_do_business'],\n title: 'If you anticipate any significant change in the way you do business, please explain:'\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'additional_comments_youd_like_to_make',\n surveyKeys: ['additional_comments_youd_like_to_make'],\n title: \"If there are additional comments you'd like to make, please use the space provided:\"\n },\n ],\n customers: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'one_year_expectations',\n surveyKeys: ['one_year_marketing_spend', 'one_year_marketing_roi', 'one_year_number_of_leads', 'one_year_number_of_customers'],\n categories: ['Marketing spend', 'Marketing ROI', '# of leads', '# of customers'],\n title: 'One Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'one_year_explanation',\n surveyKeys: ['one_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'three_year_expectations',\n surveyKeys: ['three_year_marketing_spend', 'three_year_marketing_roi', 'three_year_number_of_leads', 'three_year_number_of_customers'],\n categories: ['Marketing spend', 'Marketing ROI', '# of leads', '# of customers'],\n title: 'Three Year Expectations',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'three_year_explanation',\n surveyKeys: ['three_year_explanation'],\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'concerns',\n surveyKeys: ['targeting_the_right_customers', 'implementing_the_right_marketing_strategy', 'finding_the_optimal_marketing_mix', 'adopting_the_right_tools_and_marketing_technologies', 'improving_roi', 'improving_conversion_rates', 'seo_and_search_algorithm_changes', 'proliferation_of_new_tools_and_marketing_technologies', 'pressure_to_continuously_optimize_performance', 'ability_to_create_compelling_content', 'other_concerns'],\n categories: ['Targeting the right customers', 'Implementing the right marketing strategy', 'Finding the optimal marketing mix', 'Adopting the right tools and marketing technologies', 'Improving ROI', 'PImproving conversion rates', 'SEO/ability to effectively respond to changes to search algorithms', 'Proliferation of new tools/marketing technologies', 'Pressure to continuously optimize performance', 'Ability to create compelling content', 'Other'],\n title: 'Concerns',\n options: SurveyRadioAnswers['concern']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'other_concerns_explanation',\n surveyKeys: ['other_concerns_explanation'],\n title: `If 'other' please explain:`\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'customer_priorities',\n surveyKeys: ['acquisition', 'retention', 'reactivation'],\n categories: ['Acquisition', 'Retention', 'Reactivation'],\n title: 'Customer Priorities',\n options: SurveyRadioAnswers['importance']\n },\n ],\n future: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'satisfaction',\n surveyKeys: ['how_satisfied_are_you_with_your_companys_performance', 'how_satisfied_are_you_with_your_companys_management', 'how_satisfied_are_you_with_your_companys_workforce', 'how_satisfied_are_you_with_your_companys_ability_to_compete', 'how_satisfied_are_you_with_your_companys_products_services'],\n categories: [`Company's performance?`, `Company's management?`, `Company's workforce?`, `Company's ability to compete?`, `Company's products/services?`],\n title: 'Satisfaction',\n options: SurveyRadioAnswers['satisfaction']\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'five_year_expectations',\n surveyKeys: ['five_year_revenue', 'five_year_profitability', 'five_year_number_of_employees', 'five_year_op_ex', 'five_year_taxes', 'five_year_wages_and_salaries', 'five_year_benefits'],\n categories: ['Revenue', 'Profitability', '# of employees', 'OP-EX', 'Taxes', 'Wages & Salaries', 'Benefits'],\n title: 'Five Year Expectations (60+ months)',\n options: SurveyRadioAnswers['growth']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'five_year_explanation',\n title: 'Please explain, if necessary:'\n },\n {\n chartType: 'stackedBarRanking',\n format: 'percent',\n key: 'competition',\n surveyKeys: ['competitive_advantages_price', 'competitive_advantages_quality', 'competitive_advantages_compatibility', 'competitive_advantages_timeliness'],\n categories: ['Price', 'Quality', 'Compatibility', 'Timeliness'],\n title: 'Competition',\n surveyKeysConverted: SurveyRadioAnswers['competitionChart'],\n options: [4, 3, 2, 1]\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n key: 'growth',\n surveyKeys: ['new_markets', 'existing_markets', 'cost_reduction', 'technological_innovation', 'inflation'],\n categories: ['New markets', 'Existing markets', 'Cost reduction', 'Technological innovation', 'Inflation'],\n title: 'Source of Growth',\n options: SurveyRadioAnswers['likelihood']\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'any_significant_change_in_the_way_you_do_business',\n title: 'If you anticipate any significant change in the way you do business, please explain:'\n },\n {\n chartType: 'text',\n format: 'text',\n key: 'additional_comments_youd_like_to_make',\n title: \"If there are additional comments you'd like to make, please use the space provided:\"\n },\n ]\n};\nconst getChartColors = (report, numberOfQuestions) => {\n let chartColors = [];\n let moneyChartColors = ['#2C491D', '#3C6629', '#46762E', '#579339', '#69B144', '#7EC05D', '#96CC7B', '#ADD798', '#B9DCA7', '#D0E8C5'];\n let peopleChartColors = ['#045677', '#06729D', '#0681B2', '#089DD9', '#00AEEF', '#1FC3FF', '#62CEF9', '#75D4FA', '#9DDFFB', '#C4ECFD'];\n let customerChartColors = ['#542667', '#6D3286', '#793795', '#9142B3', '#9B4CBD', '#AC6AC8', '#BC88D3', '#CDA6DE', '#D7B5E3', '#E7D3EE'];\n let futureChartColors = ['#BC3510', '#E14014', '#EB4A1E', '#EF6843', '#F17B5B', '#F38668', '#F4967C', '#F7B3A1', '#F8C3B4', '#FCE1DA'];\n let colors = report === 'Money' ? moneyChartColors : report === 'People' ? peopleChartColors : report === 'Customers' ? customerChartColors : futureChartColors;\n\n for (let i = 0; i < 10; i++) {\n if (numberOfQuestions < 6 && chartColors.length < numberOfQuestions) {\n if (i % 2 === 0) { \n chartColors.push(colors[i])\n }\n } else if (chartColors.length < numberOfQuestions) {\n chartColors.push(colors[i])\n }\n }\n return chartColors\n}\n\nconst previousYear = new Date().getFullYear() - 1\nconst surveyYears = [previousYear - 2, previousYear - 1, previousYear]\nconst MoneySurvey = (year, reportSurvey) => {\n let surveyYearss = [year - 2, year - 1, year]\n let surveyAnswers = reportSurvey[\"survey\"][\"answers\"]\n let surveyNumbersAnswers = reportSurvey[\"number_year_inputs\"]\n return {\n chartColors: ['#2C491D', '#46762E', '#69B144', '#96CC7B', '#B9DCA7'],\n sections: ['Expectations', 'Priorities', 'Concerns', 'Facilities', 'Additional Comments'],\n surveyLayoutData: {\n \"Expectations\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (0-12 months)',\n subtitle: 'One Year Expectations',\n key: 'one_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n lockAnswers: true,\n questions: [\n {\n key: 'one_year_revenue',\n questionTitle: 'Revenue',\n answer: surveyAnswers['one_year_revenue'] ? surveyAnswers['one_year_revenue'] : 3\n },\n {\n key: 'one_year_margins',\n questionTitle: 'Margin',\n answer: surveyAnswers['one_year_margins'] ? surveyAnswers['one_year_margins'] : 3\n },\n {\n key: 'one_year_profitability',\n questionTitle: 'Profitability',\n answer: surveyAnswers['one_year_profitability'] ? surveyAnswers['one_year_profitability'] : 3\n },\n\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'one_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['one_year_explanation'] ? surveyAnswers['one_year_explanation'] : '',\n lockAnswers: false,\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (13-36 months)',\n subtitle: 'Three Year Expectations',\n key: 'three_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n lockAnswers: true,\n questions: [\n {\n key: 'three_year_revenue',\n questionTitle: 'Revenue',\n answer: surveyAnswers['three_year_revenue'] ? surveyAnswers['three_year_revenue'] : 3\n },\n {\n key: 'three_year_margins',\n questionTitle: 'Margin',\n answer: surveyAnswers['three_year_margins'] ? surveyAnswers['three_year_margins'] : 3\n },\n {\n key: 'three_year_profitability',\n questionTitle: 'Profitability',\n answer: surveyAnswers['three_year_profitability'] ? surveyAnswers['three_year_profitability'] : 3\n },\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'three_year_explanation',\n inputType: 'text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['three_year_explanation'] ? surveyAnswers['three_year_explanation'] : '',\n lockAnswers: false,\n }\n ]\n },\n \"Priorities\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Priorities',\n questionTitle: '',\n subtitle: '',\n key: 'priorities',\n inputType: 'radio',\n answerOptions: ['Very Unlikely', 'Unlikely', 'Neutral', 'Likely', 'Very Likely'],\n answerData: SurveyRadioAnswers['likelihood'],\n lockAnswers: true,\n questions: [\n {\n key: 'reduce_debt',\n questionTitle: 'Reduce debt',\n answer: surveyAnswers['reduce_debt'] ? surveyAnswers['reduce_debt'] : 3\n },\n {\n key: 'leverage_new_debt',\n questionTitle: 'Leverage new debt',\n answer: surveyAnswers['leverage_new_debt'] ? surveyAnswers['leverage_new_debt'] : 3\n },\n {\n key: 'hold_cash',\n questionTitle: 'Hold cash',\n answer: surveyAnswers['hold_cash'] ? surveyAnswers['hold_cash'] : 3\n },\n {\n key: 'invest_cash',\n questionTitle: 'Invest cash',\n answer: surveyAnswers['invest_cash'] ? surveyAnswers['invest_cash'] : 3\n },\n {\n key: 'reduce_indirect_costs',\n questionTitle: 'Reduce indirect costs',\n answer: surveyAnswers['reduce_indirect_costs'] ? surveyAnswers['reduce_indirect_costs'] : 3\n },\n {\n key: 'reduce_direct_costs',\n questionTitle: 'Reduce direct costs',\n answer: surveyAnswers['reduce_direct_costs'] ? surveyAnswers['reduce_direct_costs'] : 3\n },\n {\n key: 'capital_expenditures',\n questionTitle: 'Capital expenditure(s)',\n answer: surveyAnswers['capital_expenditures'] ? surveyAnswers['capital_expenditures'] : 3\n },\n ]\n },\n ]\n },\n \"Concerns\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Concerns',\n questionTitle: '',\n subtitle: '',\n key: 'concerns',\n inputType: 'radio',\n answerOptions: ['Not At All Concerned', 'Neutral', 'Somewhat Concerned', 'Very Concerned', 'Extremely Concerned'],\n answerData: SurveyRadioAnswers['concern'],\n lockAnswers: true,\n questions: [\n {\n key: 'increased_taxes',\n questionTitle: 'Increased taxes',\n answer: surveyAnswers['increased_taxes'] ? surveyAnswers['increased_taxes'] : 3\n },\n {\n key: 'increased_regulation',\n questionTitle: 'Increased regulation',\n answer: surveyAnswers['increased_regulation'] ? surveyAnswers['increased_regulation'] : 3\n },\n {\n key: 'lingering_economic_uncertainty',\n questionTitle: 'Lingering economic uncertainty',\n answer: surveyAnswers['lingering_economic_uncertainty'] ? surveyAnswers['lingering_economic_uncertainty'] : 3\n },\n {\n key: 'access_to_credit',\n questionTitle: 'Access to credit',\n answer: surveyAnswers['access_to_credit'] ? surveyAnswers['access_to_credit'] : 3\n },\n {\n key: 'interest_rates',\n questionTitle: 'Interest rates',\n answer: surveyAnswers['interest_rates'] ? surveyAnswers['interest_rates'] : 3\n },\n {\n key: 'increased_cost_of_labor',\n questionTitle: 'Increased cost of labor',\n answer: surveyAnswers['increased_cost_of_labor'] ? surveyAnswers['increased_cost_of_labor'] : 3\n },\n {\n key: 'impact_of_healthcare_on_bottom_line',\n questionTitle: 'Impact of healthcare on bottom line',\n answer: surveyAnswers['impact_of_healthcare_on_bottom_line'] ? surveyAnswers['impact_of_healthcare_on_bottom_line'] : 3\n },\n {\n key: 'downward_pressure_on_prices',\n questionTitle: 'Downward pressure on prices',\n answer: surveyAnswers['downward_pressure_on_prices'] ? surveyAnswers['downward_pressure_on_prices'] : 3\n },\n {\n key: 'growth_and_profitability',\n questionTitle: 'Growth & Profitability',\n answer: surveyAnswers['growth_and_profitability'] ? surveyAnswers['growth_and_profitability'] : 3\n },\n {\n key: 'wildcard_risks',\n questionTitle: 'Wildcard risks',\n answer: surveyAnswers['wildcard_risks'] ? surveyAnswers['wildcard_risks'] : 3\n },\n {\n key: 'increased_competition',\n questionTitle: 'Increased competition',\n answer: surveyAnswers['increased_competition'] ? surveyAnswers['increased_competition'] : 3\n },\n {\n key: 'other_concerns',\n questionTitle: 'Other',\n answer: surveyAnswers['other_concerns'] ? surveyAnswers['other_concerns'] : 3\n },\n ]\n },\n ]\n },\n \"Facilities\": {\n sectionData: [\n {\n section: 'Facilities',\n key: 'number_facilities',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: 'How many individual plants, facilities, offices and/or locations do you have?',\n answer: surveyNumbersAnswers[\"number_facilities\"],\n lockAnswers: false,\n },\n {\n section: 'Facilities',\n key: 'total_square_feet_facilities',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: 'What is the approximate combined square footage of all your individual plants, facilities, offices and/or locations?',\n answer: surveyNumbersAnswers[\"total_square_feet_facilities\"],\n lockAnswers: false,\n }\n ]\n },\n \"Additional Comments\": {\n sectionData: [\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'any_significant_change_in_the_way_you_do_business',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: 'If you anticipate any significant change in the way you do business, please explain:',\n answer: surveyAnswers['any_significant_change_in_the_way_you_do_business'] ? surveyAnswers['any_significant_change_in_the_way_you_do_business'] : '',\n lockAnswers: false,\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'additional_comments_youd_like_to_make',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: \"If there are additional comments you'd like to make, please use the space provided:\",\n answer: surveyAnswers['additional_comments_youd_like_to_make'] ? surveyAnswers['additional_comments_youd_like_to_make'] : '',\n lockAnswers: false,\n }\n ]\n }\n }\n }\n}\n\nconst PeopleSurvey = (year, reportSurvey) => {\n let surveyYearss = [year - 2, year - 1, year]\n let surveyAnswers = reportSurvey[\"survey\"][\"answers\"]\n let surveyNumbersAnswers = reportSurvey[\"number_year_inputs\"]\n return {\n chartColors: ['#045677', '#0681B2', '#00AEEF', '#62CEF9', '#9ddffb'],\n sections: ['Expectations', 'Priorities', 'Concerns', 'Headcount', 'Additional Comments'],\n surveyLayoutData: {\n \"Expectations\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (0-12 months)',\n subtitle: 'One Year Expectations',\n key: 'one_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n questions: [\n {\n key: 'one_year_number_of_employees',\n questionTitle: '# of employees',\n answer: surveyAnswers['one_year_number_of_employees'] ? surveyAnswers['one_year_number_of_employees'] : 3\n },\n {\n key: 'one_year_number_of_outside_contractors',\n questionTitle: '# of outside contractors',\n answer: surveyAnswers['one_year_number_of_outside_contractors'] ? surveyAnswers['one_year_number_of_outside_contractors'] : 3\n },\n {\n key: 'one_year_costs',\n questionTitle: 'Costs',\n answer: surveyAnswers['one_year_costs'] ? surveyAnswers['one_year_costs'] : 3\n },\n {\n key: 'one_year_salaries',\n questionTitle: 'Salaries',\n answer: surveyAnswers['one_year_salaries'] ? surveyAnswers['one_year_salaries'] : 3\n },\n {\n key: 'one_year_benefits',\n questionTitle: 'Benefits',\n answer: surveyAnswers['one_year_benefits'] ? surveyAnswers['one_year_benefits'] : 3\n }\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'one_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['one_year_explanation'] ? surveyAnswers['one_year_explanation'] : ''\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (13-36 months)',\n subtitle: 'Three Year Expectations',\n key: 'three_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n questions: [\n {\n key: 'three_year_number_of_employees',\n questionTitle: '# of employees',\n answer: surveyAnswers['three_year_number_of_employees'] ? surveyAnswers['three_year_number_of_employees'] : 3\n },\n {\n key: 'three_year_number_of_outside_contractors',\n questionTitle: '# of outside contractors',\n answer: surveyAnswers['three_year_number_of_outside_contractors'] ? surveyAnswers['three_year_number_of_outside_contractors'] : 3\n },\n {\n key: 'three_year_costs',\n questionTitle: 'Costs',\n answer: surveyAnswers['three_year_costs'] ? surveyAnswers['three_year_costs'] : 3\n },\n {\n key: 'three_year_salaries',\n questionTitle: 'Salaries',\n answer: surveyAnswers['three_year_salaries'] ? surveyAnswers['three_year_salaries'] : 3\n },\n {\n key: 'three_year_benefits',\n questionTitle: 'Benefits',\n answer: surveyAnswers['three_year_benefits'] ? surveyAnswers['three_year_benefits'] : 3\n },\n\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'three_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['three_year_explanation'] ? surveyAnswers['three_year_explanation'] : ''\n }\n ]\n },\n \"Priorities\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Priorities',\n questionTitle: '',\n subtitle: '',\n key: 'priorities',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Unimportant', 'Low Importance', 'Neutral', 'Important', 'Very Important'],\n answerData: SurveyRadioAnswers['importance'],\n questions: [\n {\n key: 'strategic_alignment_priorities',\n questionTitle: 'Strategic alignment',\n answer: surveyAnswers['strategic_alignment_priorities'] ? surveyAnswers['strategic_alignment_priorities'] : 3\n },\n {\n key: 'planning_and_policy_development_priorities',\n questionTitle: 'Planning and policy development',\n answer: surveyAnswers['planning_and_policy_development_priorities'] ? surveyAnswers['planning_and_policy_development_priorities'] : 3\n },\n {\n key: 'organizational_design_priorities',\n questionTitle: 'Organizational design',\n answer: surveyAnswers['organizational_design_priorities'] ? surveyAnswers['organizational_design_priorities'] : 3\n },\n {\n key: 'performance_management_priorities',\n questionTitle: 'Performance management',\n answer: surveyAnswers['performance_management_priorities'] ? surveyAnswers['performance_management_priorities'] : 3\n },\n {\n key: 'wellness_priorities',\n questionTitle: 'Wellness',\n answer: surveyAnswers['wellness_priorities'] ? surveyAnswers['wellness_priorities'] : 3\n },\n {\n key: 'human_capital_analytics_priorities',\n questionTitle: 'Human capital analytics',\n answer: surveyAnswers['human_capital_analytics_priorities'] ? surveyAnswers['human_capital_analytics_priorities'] : 3\n },\n {\n key: 'benefits_administration_priorities',\n questionTitle: 'Benefits administration',\n answer: surveyAnswers['benefits_administration_priorities'] ? surveyAnswers['benefits_administration_priorities'] : 3\n },\n {\n key: 'increase_roi_of_human_capital_priorities',\n questionTitle: 'Increase ROI of human capital',\n answer: surveyAnswers['increase_roi_of_human_capital_priorities'] ? surveyAnswers['increase_roi_of_human_capital_priorities'] : 3\n },\n {\n key: 'cuts_costs_priorities',\n questionTitle: 'Cuts costs',\n answer: surveyAnswers['cuts_costs_priorities'] ? surveyAnswers['cuts_costs_priorities'] : 3\n },\n {\n key: 'employee_retention_priorities',\n questionTitle: 'Employee retention',\n answer: surveyAnswers['employee_retention_priorities'] ? surveyAnswers['employee_retention_priorities'] : 3\n },\n {\n key: 'employee_acquisition_priorities',\n questionTitle: 'Employee acquisition',\n answer: surveyAnswers['employee_acquisition_priorities'] ? surveyAnswers['employee_acquisition_priorities'] : 3\n },\n {\n key: 'outsourcing_priorities',\n questionTitle: 'Outsourcing',\n answer: surveyAnswers['outsourcing_priorities'] ? surveyAnswers['outsourcing_priorities'] : 3\n },\n ]\n },\n ]\n },\n \"Concerns\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Concerns',\n questionTitle: '',\n subtitle: '',\n key: 'concerns',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Not At All Concerned', 'Neutral', 'Somewhat Concerned', 'Very Concerned', 'Extremely Concerned'],\n answerData: SurveyRadioAnswers['concern'],\n questions: [\n {\n key: 'healthcare_costs_concerns',\n questionTitle: 'Healthcare costs',\n answer: surveyAnswers['healthcare_costs_concerns'] ? surveyAnswers['healthcare_costs_concerns'] : 3\n },\n {\n key: 'payroll_taxes_concerns',\n questionTitle: 'Payroll taxes',\n answer: surveyAnswers['payroll_taxes_concerns'] ? surveyAnswers['payroll_taxes_concerns'] : 3\n },\n {\n key: 'increased_regulation_concerns',\n questionTitle: 'Increased regulation',\n answer: surveyAnswers['increased_regulation_concerns'] ? surveyAnswers['increased_regulation_concerns'] : 3\n },\n {\n key: 'ability_to_remain_competitive_concerns',\n questionTitle: 'Ability to remain competitive',\n answer: surveyAnswers['ability_to_remain_competitive_concerns'] ? surveyAnswers['ability_to_remain_competitive_concerns'] : 3\n },\n {\n key: 'employee_acquisition_concerns',\n questionTitle: 'Employee acquisition',\n answer: surveyAnswers['employee_acquisition_concerns'] ? surveyAnswers['employee_acquisition_concerns'] : 3\n },\n {\n key: 'employee_retention_concerns',\n questionTitle: 'Employee retention',\n answer: surveyAnswers['employee_retention_concerns'] ? surveyAnswers['employee_retention_concerns'] : 3\n },\n {\n key: 'succession_planning_and_bench_strength_concerns',\n questionTitle: 'Succession planning and bench strength',\n answer: surveyAnswers['succession_planning_and_bench_strength_concerns'] ? surveyAnswers['succession_planning_and_bench_strength_concerns'] : 3\n },\n {\n key: 'economic_uncertainty_concerns',\n questionTitle: 'Economic uncertainty',\n answer: surveyAnswers['economic_uncertainty_concerns'] ? surveyAnswers['economic_uncertainty_concerns'] : 3\n },\n {\n key: 'wildcard_risks_concerns',\n questionTitle: 'Wildcard risks',\n answer: surveyAnswers['wildcard_risks_concerns'] ? surveyAnswers['wildcard_risks_concerns'] : 3\n },\n {\n key: 'other_concerns',\n questionTitle: 'Other',\n answer: surveyAnswers['other_concerns'] ? surveyAnswers['other_concerns'] : 3\n },\n ]\n },\n ]\n },\n \"Headcount\": {\n sectionData: [\n {\n section: 'Headcount',\n key: 'senior_management_count',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `Total # Owner/Partners/Sr. Executives (President, Exec. V.P., CMO, etc.)`,\n answer: surveyNumbersAnswers['senior_management_count']\n },\n {\n section: 'Headcount',\n key: 'total_number_of_employees',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: 'Total # of employees:',\n answer: surveyNumbersAnswers['total_number_of_employees']\n },\n {\n section: 'Headcount',\n key: 'number_of_employees_who_left',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `# of employees who left the company (either voluntarily or involuntarily)`,\n answer: surveyNumbersAnswers['number_of_employees_who_left']\n }\n ]\n },\n \"Additional Comments\": {\n sectionData: [\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'any_significant_change_in_the_way_you_do_business',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: 'If you anticipate any significant change in the way you do business, please explain:',\n answer: surveyAnswers['any_significant_change_in_the_way_you_do_business'] ? surveyAnswers['any_significant_change_in_the_way_you_do_business'] : ''\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'additional_comments_youd_like_to_make',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: \"If there are additional comments you'd like to make, please use the space provided:\",\n answer: surveyAnswers['additional_comments_youd_like_to_make'] ? surveyAnswers['additional_comments_youd_like_to_make'] : ''\n }\n ]\n }\n }\n }\n}\n\nconst CustomerSurvey = (year, reportSurvey) => {\n let surveyYearss = [year - 2, year - 1, year]\n let surveyAnswers = reportSurvey[\"survey\"][\"answers\"]\n let surveyNumbersAnswers = reportSurvey[\"number_year_inputs\"]\n return {\n chartColors: ['#542667', '#793795', '#9B4CBD', '#BC88D3', '#D7B5E3'],\n sections: ['Expectations', 'Concerns', 'Customer Priorities', 'Customer Concentration'],\n surveyLayoutData: {\n \"Expectations\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (0-12 months)',\n subtitle: 'One Year Expectations',\n key: 'one_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n questions: [\n {\n key: 'one_year_marketing_spend',\n questionTitle: 'Marketing spend',\n answer: surveyAnswers['one_year_marketing_spend'] ? surveyAnswers['one_year_marketing_spend'] : 3\n },\n {\n key: 'one_year_marketing_roi',\n questionTitle: 'Marketing ROI',\n answer: surveyAnswers['one_year_marketing_roi'] ? surveyAnswers['one_year_marketing_roi'] : 3\n },\n {\n key: 'one_year_number_of_leads',\n questionTitle: '# of leads',\n answer: surveyAnswers['one_year_number_of_leads'] ? surveyAnswers['one_year_number_of_leads'] : 3\n },\n {\n key: 'one_year_number_of_customers',\n questionTitle: '# of customers',\n answer: surveyAnswers['one_year_number_of_customers'] ? surveyAnswers['one_year_number_of_customers'] : 3\n },\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'one_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['one_year_explanation'] ? surveyAnswers['one_year_explanation'] : ''\n },\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Expectations (13-36 months)',\n subtitle: 'Three Year Expectations',\n key: 'three_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n questions: [\n {\n key: 'three_year_marketing_spend',\n questionTitle: 'Marketing spend',\n answer: surveyAnswers['three_year_marketing_spend'] ? surveyAnswers['three_year_marketing_spend'] : 3\n },\n {\n key: 'three_year_marketing_roi',\n questionTitle: 'Marketing ROI',\n answer: surveyAnswers['three_year_marketing_roi'] ? surveyAnswers['three_year_marketing_roi'] : 3\n },\n {\n key: 'three_year_number_of_leads',\n questionTitle: '# of leads',\n answer: surveyAnswers['three_year_number_of_leads'] ? surveyAnswers['three_year_number_of_leads'] : 3\n },\n {\n key: 'three_year_number_of_customers',\n questionTitle: '# of customers',\n answer: surveyAnswers['three_year_number_of_customers'] ? surveyAnswers['three_year_number_of_customers'] : 3\n },\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'three_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: 'Please explain, if necessary:',\n answer: surveyAnswers['three_year_explanation'] ? surveyAnswers['three_year_explanation'] : ''\n }\n ]\n },\n \"Concerns\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Concerns',\n questionTitle: '',\n key: 'concerns',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Not At All Concerned', 'Neutral', 'Somewhat Concerned', 'Very Concerned', 'Extremely Concerned'],\n answerData: SurveyRadioAnswers['concern'],\n questions: [\n {\n key: 'targeting_the_right_customers',\n questionTitle: 'Targeting the right customers',\n answer: surveyAnswers['targeting_the_right_customers'] ? surveyAnswers['targeting_the_right_customers'] : 3\n },\n {\n key: 'implementing_the_right_marketing_strategy',\n questionTitle: 'Implementing the right marketing strategy',\n answer: surveyAnswers['implementing_the_right_marketing_strategy'] ? surveyAnswers['implementing_the_right_marketing_strategy'] : 3\n },\n {\n key: 'finding_the_optimal_marketing_mix',\n questionTitle: 'Finding the optimal marketing mix',\n answer: surveyAnswers['finding_the_optimal_marketing_mix'] ? surveyAnswers['finding_the_optimal_marketing_mix'] : 3\n },\n {\n key: 'adopting_the_right_tools_and_marketing_technologies',\n questionTitle: 'Adopting the right tools and marketing technologies',\n answer: surveyAnswers['adopting_the_right_tools_and_marketing_technologies'] ? surveyAnswers['adopting_the_right_tools_and_marketing_technologies'] : 3\n },\n {\n key: 'improving_roi',\n questionTitle: 'Improving ROI',\n answer: surveyAnswers['improving_roi'] ? surveyAnswers['improving_roi'] : 3\n },\n {\n key: 'improving_conversion_rates',\n questionTitle: 'Improving conversion rates',\n answer: surveyAnswers['improving_conversion_rates'] ? surveyAnswers['improving_conversion_rates'] : 3\n },\n {\n key: 'seo_and_search_algorithm_changes',\n questionTitle: 'SEO and ability to effectively respond to changes to search algorithms',\n answer: surveyAnswers['seo_and_search_algorithm_changes'] ? surveyAnswers['seo_and_search_algorithm_changes'] : 3\n },\n {\n key: 'proliferation_of_new_tools_and_marketing_technologies',\n questionTitle: 'Proliferation of new tools and marketing technologies',\n answer: surveyAnswers['proliferation_of_new_tools_and_marketing_technologies'] ? surveyAnswers['proliferation_of_new_tools_and_marketing_technologies'] : 3\n },\n {\n key: 'pressure_to_continuously_optimize_performance',\n questionTitle: 'Pressure to continuously optimize performance',\n answer: surveyAnswers['pressure_to_continuously_optimize_performance'] ? surveyAnswers['pressure_to_continuously_optimize_performance'] : 3\n },\n {\n key: 'ability_to_create_compelling_content',\n questionTitle: 'Ability to create compelling content',\n answer: surveyAnswers['ability_to_create_compelling_content'] ? surveyAnswers['ability_to_create_compelling_content'] : 3\n },\n {\n key: 'other_concerns',\n questionTitle: 'Other',\n answer: surveyAnswers['other_concerns'] ? surveyAnswers['other_concerns'] : 3\n },\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Concerns',\n key: 'other_concerns_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: `If 'other' please explain:`,\n answer: surveyAnswers['other_concerns_explanation'] ? surveyAnswers['other_concerns_explanation'] : ''\n },\n ]\n },\n \"Customer Priorities\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Customer Priorities',\n questionTitle: '',\n subtitle: '',\n key: 'customer_priorities',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Unimportant', 'Low Importance', 'Neutral', 'Important', 'Very Important'],\n answerData: SurveyRadioAnswers['importance'],\n questions: [\n {\n key: 'acquisition',\n questionTitle: 'Acquisition',\n answer: surveyAnswers['acquisition'] ? surveyAnswers['acquisition'] : 3\n },\n {\n key: 'retention',\n questionTitle: 'Retention',\n answer: surveyAnswers['retention'] ? surveyAnswers['retention'] : 3\n },\n {\n key: 'reactivation',\n questionTitle: 'Reactivation',\n answer: surveyAnswers['reactivation'] ? surveyAnswers['reactivation'] : 3\n },\n ]\n },\n ]\n },\n \"Customer Concentration\": {\n sectionData: [\n {\n section: 'Customer Concentration',\n key: 'total_number_of_customers',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `Total number of customers`,\n answer: surveyNumbersAnswers['total_number_of_customers']\n },\n {\n section: 'Customer Concentration',\n key: 'percent_of_customers_that_are_new',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: 'What percent of your customers are new each year?',\n answer: surveyNumbersAnswers['percent_of_customers_that_are_new']\n },\n {\n section: 'Customer Concentration',\n key: 'percent_of_sales_from_the_top_10_percent',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `What percent of your total sales come from the top 10 percent of your customers?`,\n answer: surveyNumbersAnswers['percent_of_sales_from_the_top_10_percent']\n },\n {\n section: 'Customer Concentration',\n key: 'percent_of_sales_from_the_top_25_percent',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `What percent of your total sales come from the top 25 percent of your customers?`,\n answer: surveyNumbersAnswers['percent_of_sales_from_the_top_25_percent']\n },\n {\n section: 'Customer Concentration',\n key: 'percent_of_sales_from_the_top_50_percent',\n inputType: 'numberYears',\n questionType: 'Number Years Inputs',\n questionTitle: `What percent of your total sales come from the top 50 percent of your customers?`,\n answer: surveyNumbersAnswers['percent_of_sales_from_the_top_50_percent']\n }\n ]\n },\n }\n }\n}\n\n// Formerly Planning Survey\nconst FutureSurvey = (reportSurvey) => {\n let surveyAnswers = reportSurvey[\"survey\"][\"answers\"]\n return {\n chartColors: ['#BC3510', '#EB4A1E', '#f17b5b', '#F4967C', '#F8C3B4'],\n sections: ['Satisfaction', 'Expectations', 'Competition', 'Growth', 'Additional Comments'],\n surveyLayoutData: {\n \"Satisfaction\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Satisfaction',\n questionTitle: '',\n subtitle: '',\n key: 'satisfaction',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Very Unsatisfied', 'Unsatisfied', 'Neutral', 'Satisfied', 'Very Satisfied'],\n answerData: SurveyRadioAnswers['satisfaction'],\n questions: [\n {\n key: 'how_satisfied_are_you_with_your_companys_performance',\n questionTitle: `How satisfied are you with your company's performance?`,\n answer: surveyAnswers['how_satisfied_are_you_with_your_companys_performance'] ? surveyAnswers['how_satisfied_are_you_with_your_companys_performance'] : 3\n },\n {\n key: 'how_satisfied_are_you_with_your_companys_management',\n questionTitle: `How satisfied are you with your company's management?`,\n answer: surveyAnswers['how_satisfied_are_you_with_your_companys_management'] ? surveyAnswers['how_satisfied_are_you_with_your_companys_management'] : 3\n },\n {\n key: 'how_satisfied_are_you_with_your_companys_workforce',\n questionTitle: `How satisfied are you with your company's workforce?`,\n answer: surveyAnswers['how_satisfied_are_you_with_your_companys_workforce'] ? surveyAnswers['how_satisfied_are_you_with_your_companys_workforce'] : 3\n },\n {\n key: 'how_satisfied_are_you_with_your_companys_ability_to_compete',\n questionTitle: `How satisfied are you with your company's ability to compete?`,\n answer: surveyAnswers['how_satisfied_are_you_with_your_companys_ability_to_compete'] ? surveyAnswers['how_satisfied_are_you_with_your_companys_ability_to_compete'] : 3\n },\n {\n key: 'how_satisfied_are_you_with_your_companys_products_services',\n questionTitle: `How satisfied are you with your company's products/services?`,\n answer: surveyAnswers['how_satisfied_are_you_with_your_companys_products_services'] ? surveyAnswers['how_satisfied_are_you_with_your_companys_products_services'] : 3\n },\n ]\n }\n ]\n },\n \"Expectations\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Expectations',\n questionTitle: 'Five Year Expectations (60+ months)',\n subtitle: '',\n key: 'five_year_expectations',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Big Decrease', 'Slight Decrease', 'Same', 'Slight Increase', 'Big Increase'],\n answerData: SurveyRadioAnswers['growth'],\n questions: [\n {\n key: 'five_year_revenue',\n questionTitle: 'Revenue',\n answer: surveyAnswers['five_year_revenue'] ? surveyAnswers['five_year_revenue'] : 3\n },\n {\n key: 'five_year_profitability',\n questionTitle: 'Profitability',\n answer: surveyAnswers['five_year_profitability'] ? surveyAnswers['five_year_profitability'] : 3\n },\n {\n key: 'five_year_number_of_employees',\n questionTitle: '# of employees',\n answer: surveyAnswers['five_year_number_of_employees'] ? surveyAnswers['five_year_number_of_employees'] : 3\n },\n {\n key: 'five_year_op_ex',\n questionTitle: 'OP-EX',\n answer: surveyAnswers['five_year_op_ex'] ? surveyAnswers['five_year_op_ex'] : 3\n },\n {\n key: 'five_year_taxes',\n questionTitle: 'Taxes',\n answer: surveyAnswers['five_year_taxes'] ? surveyAnswers['five_year_taxes'] : 3\n },\n {\n key: 'five_year_wages_and_salaries',\n questionTitle: 'Wages & Salaries',\n answer: surveyAnswers['five_year_wages_and_salaries'] ? surveyAnswers['five_year_wages_and_salaries'] : 3\n },\n {\n key: 'five_year_benefits',\n questionTitle: 'Benefits',\n answer: surveyAnswers['five_year_benefits'] ? surveyAnswers['five_year_benefits'] : 3\n }\n ]\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Expectations',\n key: 'five_year_explanation',\n inputType: 'text',\n questionType: 'Text',\n questionTitle: `Please explain, if necessary:`,\n answer: surveyAnswers['five_year_explanation'] ? surveyAnswers['five_year_explanation'] : ''\n },\n ]\n },\n \"Competition\": {\n sectionData: [\n {\n chartType: 'stackedBarRanking',\n format: 'percent',\n section: 'Competition',\n questionTitle: 'Ability to Compete',\n subtitle: '',\n key: 'competitive_advantages',\n inputType: 'ranking',\n questionType: 'Ranking',\n answerOptions: [1, 2, 3, 4],\n answerData: {\n 1: 1, \n 2: 2, \n 3: 3,\n 4: 4\n },\n questions: [\n {\n key: 'competitive_advantages_price',\n questionTitle: 'Price',\n answer: surveyAnswers['competitive_advantages_price'] ? surveyAnswers['competitive_advantages_price'] : 1\n },\n {\n key: 'competitive_advantages_quality',\n questionTitle: 'Quality',\n answer: surveyAnswers['competitive_advantages_quality'] ? surveyAnswers['competitive_advantages_quality'] : 2\n },\n {\n key: 'competitive_advantages_compatibility',\n questionTitle: 'Compatibility',\n answer: surveyAnswers['competitive_advantages_compatibility'] ? surveyAnswers['competitive_advantages_compatibility'] : 3\n },\n {\n key: 'competitive_advantages_timeliness',\n questionTitle: 'Timeliness',\n answer: surveyAnswers['competitive_advantages_timeliness'] ? surveyAnswers['competitive_advantages_timeliness'] : 4\n },\n ]\n }\n ]\n },\n \"Growth\": {\n sectionData: [\n {\n chartType: 'stackedBar',\n format: 'percent',\n section: 'Growth',\n questionTitle: 'Source of Growth',\n subtitle: 'In the future, additional revenues will most likely come from which of the following:',\n key: 'growth',\n inputType: 'radio',\n questionType: 'Group Questions',\n answerOptions: ['Very Unlikely', 'Unlikely', 'Neutral', 'Likely', 'Very Likely'],\n answerData: SurveyRadioAnswers['likelihood'],\n questions: [\n {\n key: 'new_markets',\n questionTitle: 'New markets',\n answer: surveyAnswers['new_markets'] ? surveyAnswers['new_markets'] : 3\n },\n {\n key: 'existing_markets',\n questionTitle: 'Existing markets',\n answer: surveyAnswers['existing_markets'] ? surveyAnswers['existing_markets'] : 3\n },\n {\n key: 'cost_reduction',\n questionTitle: 'Cost reduction',\n answer: surveyAnswers['cost_reduction'] ? surveyAnswers['cost_reduction'] : 3\n },\n {\n key: 'technological_innovation',\n questionTitle: 'Technological innovation',\n answer: surveyAnswers['technological_innovation'] ? surveyAnswers['technological_innovation'] : 3\n },\n {\n key: 'inflation',\n questionTitle: 'Inflation',\n answer: surveyAnswers['inflation'] ? surveyAnswers['inflation'] : 3\n }\n ]\n }\n ]\n },\n \"Additional Comments\": {\n sectionData: [\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'any_significant_change_in_the_way_you_do_business',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: 'If you anticipate any significant change in the way you do business, please explain:',\n answer: surveyAnswers['any_significant_change_in_the_way_you_do_business'] ? surveyAnswers['any_significant_change_in_the_way_you_do_business'] : ''\n },\n {\n chartType: 'text',\n format: 'text',\n section: 'Additional Comments',\n key: 'additional_comments_youd_like_to_make',\n inputType: 'textarea',\n questionType: 'Text area',\n questionTitle: \"If there are additional comments you'd like to make, please use the space provided:\",\n answer: surveyAnswers['additional_comments_youd_like_to_make'] ? surveyAnswers['additional_comments_youd_like_to_make'] : ''\n }\n ]\n }\n }\n }\n}\n\nexport { SurveyCharts, SurveyRadioAnswers, getChartColors, MoneySurvey, PeopleSurvey, CustomerSurvey, FutureSurvey };\n","import React, { useState, useEffect } from 'react';\n\nconst AddAndEditDashboardView = (props) => {\n const [naicsSearchQuery, setNaicsSearchQuery] = useState('');\n const [parentSearchQuery, setParentSearchQuery] = useState('');\n const [companySearchQuery, setCompanySearchQuery] = useState('');\n const [debouncedQuery, setDebouncedQuery] = useState({ naics: '', parent: '', company: '' });\n const [dashViewFormState, setDashViewFormState] = useState({\n name: props.dashboardViewModalState.edit_view.name || '',\n viewVisibilty: props.dashboardViewModalState.edit_view.private ? 'only_me' : 'all',\n displayViewPermissionQ: !props.dashboardViewModalState.edit_view.private,\n displayApplyQ: ['userDashboard', 'practice', 'industry'].includes(props.report) ? false : true,\n viewPermission: props.dashboardViewModalState.edit_view.permission_details === 'view_only' ? 'view_only' : 'edit_and_view',\n viewApply: props.dashboardViewModalState.edit_view.view_apply ? props.dashboardViewModalState.edit_view.view_apply : props.editorPage ? 'all_firm_clients' : 'current_client',\n naicsSpecific: props.dashboardViewModalState.naicsSpecific,\n parentSpecific: props.dashboardViewModalState.parentSpecific,\n })\n const [naicsSearch, setNaicsSearch] = useState({\n isLoading: false,\n selected: props.dashboardViewModalState.naicsSearch,\n results: []\n })\n const [parentSearch, setParentSearch] = useState({\n isLoading: false,\n selected: props.dashboardViewModalState.parentSearch,\n results: []\n })\n const [companySearch, setCompanySearch] = useState({\n isLoading: false,\n selected: props.dashboardViewModalState.companySearch,\n results: []\n })\n\n const handleDashViewForm = (type, value) => {\n setDashViewFormState((prevState) => {\n switch (type) {\n case 'name':\n return {\n ...prevState,\n name: value,\n }\n case 'viewPermission':\n return {\n ...prevState,\n viewPermission: value,\n }\n case 'viewApply':\n return {\n ...prevState,\n viewApply: value,\n }\n case 'viewVisibilty':\n return {\n ...prevState,\n viewVisibilty: value,\n displayViewPermissionQ: value === 'all'\n }\n case 'naicsSpecific':\n return {\n ...prevState,\n naicsSpecific: value\n }\n case 'parentSpecific':\n return {\n ...prevState,\n parentSpecific: value\n }\n }\n })\n\n }\n\n const handleSelectedNAICS = (action, naicsCode) => {\n if (action === 'add') {\n setNaicsSearch(prevState => {\n let newResults = prevState.results.filter(naics => naics !== naicsCode)\n let newSelected = [...prevState.selected, naicsCode]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n } else if (action === 'remove') {\n setNaicsSearch(prevState => {\n let newSelected = prevState.selected.filter(naics => naics !== naicsCode)\n let newResults = [naicsCode, ...prevState.results]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n }\n }\n\n const handleSelectedParent = (action, parent) => {\n if (action === 'add') {\n setParentSearch(prevState => {\n let newResults = prevState.results.filter(p => p.id !== parent.id)\n let newSelected = [...prevState.selected, parent]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n } else if (action === 'remove') {\n setParentSearch(prevState => {\n let newSelected = prevState.selected.filter(p => p.id !== parent.id)\n let newResults = [parent, ...prevState.results]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n }\n }\n\n const handleSelectedCompany = (action, company) => {\n if (action === 'add') {\n setCompanySearch(prevState => {\n let newResults = prevState.results.filter(p => p.id !== company.id)\n let newSelected = [...prevState.selected, company]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n } else if (action === 'remove') {\n setCompanySearch(prevState => {\n let newSelected = prevState.selected.filter(p => p.id !== company.id)\n let newResults = [company, ...prevState.results]\n return {\n ...prevState,\n results: newResults,\n selected: newSelected\n }\n })\n }\n }\n\n const handleNAICSInputChange = (e) => {\n setNaicsSearchQuery(e.target.value);\n };\n\n const handleParentInputChange = (e) => {\n setParentSearchQuery(e.target.value);\n };\n\n const handleCompanyInputChange = (e) => {\n setCompanySearchQuery(e.target.value);\n }\n\n const handleAddEditViewSubmit = (e) => {\n e.preventDefault()\n let formData = dashViewFormState\n formData[\"naics\"] = dashViewFormState.naicsSpecific === 'yes' ? naicsSearch.selected : null\n formData[\"parent_ids\"] = dashViewFormState.parentSpecific === 'yes' ? parentSearch.selected.map(p => p.id) : null\n formData[\"company_ids\"] = dashViewFormState.viewApply === 'specific_clients' ? companySearch.selected.map(p => p.id) : null\n\n if (props.dashboardViewModalState.action === 'add_view') {\n props.createDashBoardView(formData)\n setDashViewFormState(prevState => {\n return {...prevState, name: ''}\n })\n } else {\n props.updateDashBoardView(false, props.dashboardViewModalState.edit_view.id, formData)\n }\n }\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedQuery({\n naics: naicsSearchQuery,\n parent: parentSearchQuery,\n company: companySearchQuery\n });\n }, 1000);\n\n return () => clearTimeout(handler);\n }, [naicsSearchQuery, parentSearchQuery, companySearchQuery]);\n\n useEffect(() => {\n const fetchSearchData = async (queryType, queryValue) => {\n if (!queryValue) return;\n\n if (queryType === 'naics') {\n setNaicsSearch(prev => ({ ...prev, isLoading: true }));\n } else if (queryType === 'company' && props.adminEditor) {\n setParentSearch(prev => ({ ...prev, isLoading: true }));\n } else {\n setCompanySearch(prev => ({ ...prev, isLoading: true }));\n }\n\n try {\n const response = await fetch(`/api/v1/${queryType}_search/?term=${queryValue}`);\n if (!response.ok) throw new Error('Network error');\n\n const data = await response.json();\n\n if (queryType === 'naics') {\n let filteredNaics = []\n data.results.forEach(n => {\n if (!naicsSearch.selected.includes(n)) {\n filteredNaics.push(n)\n }\n })\n setNaicsSearch(prev => ({ ...prev, isLoading: false, results: filteredNaics }));\n } else if (queryType === 'company' && props.adminEditor) {\n let filteredParent = []\n data.admin_results.forEach(p => {\n if (!parentSearch.selected.find(r => r.id === p.id)) {\n filteredParent.push(p)\n }\n })\n setParentSearch(prev => ({ ...prev, isLoading: false, results: filteredParent }));\n } else {\n let filteredCompanies = []\n data.firm_results.forEach(p => {\n if (!companySearch.selected.find(r => r.id === p.id)) {\n filteredCompanies.push(p)\n }\n })\n setCompanySearch(prev => ({ ...prev, isLoading: false, results: filteredCompanies }));\n }\n } catch (error) {\n console.error(`Error fetching ${queryType} data:`, error);\n }\n };\n\n fetchSearchData('naics', debouncedQuery.naics);\n fetchSearchData('company', debouncedQuery.parent);\n fetchSearchData('company', debouncedQuery.company);\n }, [debouncedQuery]);\n\n\n if (props.editorPage) {\n return (\n
    \n

    {props.dashboardViewModalState.action === 'add_view' ? 'Create A New Report' : 'Edit Report'}

    \n

    Click Anywhere Outside of this Pop-up to Close

    \n
    handleAddEditViewSubmit(e)}>\n
    \n \n handleDashViewForm('name', e.target.value)}\n required\n />\n
    \n {!props.adminEditor && <>\n
    \n Can all firm users to view this report in the report builder or only you?\n
    \n handleDashViewForm('viewVisibilty', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('viewVisibilty', e.target.value)} />\n \n
    \n
    \n {\n dashViewFormState.displayViewPermissionQ\n ? (
    \n Can other users edit or just view your report?\n
    \n handleDashViewForm('viewPermission', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('viewPermission', e.target.value)}\n />\n \n
    \n
    )\n : null\n }\n \n }\n {!props.adminEditor && <>\n
    \n Is this report accessible to all clients?\n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n
    \n {\n dashViewFormState.viewApply === 'specific_clients'\n ? (
    \n handleCompanyInputChange(e)} />\n
    \n Selected\n {companySearch.selected.map(s => {\n return
    handleSelectedCompany('remove', s)}>{s.name}
    \n })}\n
    \n
    \n Results\n {companySearch.results.map(s => {\n return
    handleSelectedCompany('add', s)}>{s.name}+
    \n })}\n
    \n
    )\n : null\n }\n
    \n\n
    \n \n }\n\n\n {props.adminEditor && <>\n
    \n Is this NAICS specific?\n
    \n handleDashViewForm('naicsSpecific', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('naicsSpecific', e.target.value)} />\n \n
    \n
    \n
    \n {\n dashViewFormState.naicsSpecific === 'yes'\n ? (
    \n handleNAICSInputChange(e)} />\n
    \n Selected\n {naicsSearch.selected.map(s => {\n return
    handleSelectedNAICS('remove', s)}>{s}
    \n })}\n
    \n
    \n Results\n {naicsSearch.results.map(s => {\n return
    handleSelectedNAICS('add', s)}>{s}+
    \n })}\n
    \n
    )\n : null\n }\n
    \n \n }\n\n {props.adminEditor && <>\n
    \n Is this Firm / Parent Company specific?\n
    \n handleDashViewForm('parentSpecific', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('parentSpecific', e.target.value)}\n />\n \n
    \n
    \n
    \n {\n dashViewFormState.parentSpecific === 'yes'\n ? (
    \n handleParentInputChange(e)} />\n
    \n Selected\n {parentSearch.selected.map(s => {\n return
    handleSelectedParent('remove', s)}>{s.name}
    \n })}\n
    \n
    \n Results\n {parentSearch.results.map(s => {\n return
    handleSelectedParent('add', s)}>{s.name}+
    \n })}\n
    \n
    )\n : null\n }\n
    \n \n }\n\n\n
    \n \n
    \n
    \n \n
    \n )\n } else {\n return (\n
    \n

    {props.dashboardViewModalState.action === 'add_view' ? 'Create A New Dashboard View' : 'Edit Dashboard View'}

    \n

    Click Anywhere Outside of this Pop-up to Close

    \n
    handleAddEditViewSubmit(e)}>\n
    \n \n handleDashViewForm('name', e.target.value)}\n required\n />\n
    \n
    \n Do you want all other firm users to view this dashboard or only you?\n
    \n handleDashViewForm('viewVisibilty', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('viewVisibilty', e.target.value)} />\n \n
    \n
    \n {\n dashViewFormState.displayViewPermissionQ\n ? (
    \n Can other users edit or just view your layout?\n
    \n handleDashViewForm('viewPermission', e.target.value)}\n required\n />\n \n
    \n
    \n handleDashViewForm('viewPermission', e.target.value)}\n />\n \n
    \n
    )\n : null\n }\n {dashViewFormState.displayApplyQ\n ? (\n
    \n Do you want to apply this layout to other clients?\n {\n dashViewFormState.displayViewPermissionQ\n ? (<>\n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n\n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n )\n : null\n }\n\n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n\n
    \n handleDashViewForm('viewApply', e.target.value)}\n />\n \n
    \n\n
    \n handleDashViewForm('viewApply', e.target.value)}\n required\n />\n \n
    \n
    \n )\n : null\n }\n
    \n \n
    \n
    \n \n
    \n )\n }\n}\n\nexport default AddAndEditDashboardView;","import React, { useState } from 'react';\nimport Modal from 'react-modal';\n\nconst DashboardViewsEditor = (props) => {\n let tableClass = 'my-dash-views-table-money'\n if (props.report === 'people' || props.page === 'people') {\n tableClass = 'my-dash-views-table-people'\n }\n if (props.report === 'customers' || props.page === 'customers') {\n tableClass = 'my-dash-views-table-customers'\n }\n\n if (props.editorPage) {\n return (\n
    \n

    Edit Reports

    \n

    Click Anywhere Outside of this Pop-up to Close

    \n \n \n \n \n {!props.adminEditor ? : null}\n {!props.adminEditor ? : null}\n \n {props.adminEditor ? : null}\n \n \n \n \n \n {props.dashboardViewModalState.user_views.map((v, i) => {\n return (\n \n {!props.adminEditor ? : null}\n {!props.adminEditor ? : null}\n \n {props.adminEditor ? : null}\n \n \n )\n })}\n \n
    NameWho Can ViewView DetailsNAICSParent Co / FirmEditDelete
    {v.name}{v.private ? 'Only Me' : 'All Can View'}{v.permission_details === 'edit_and_view' ? 'Edit & View' : 'View Only'}{v.naics && v.naics.length > 0 ? v.naics.join(', ') : 'All NAICS'}{v.parent_ids && v.parent_ids.length > 0 ? v.parent_companies.map(c => c.name).join(', ') : 'All Parent Co / Firms'}\n \n \n \n
    \n \n
    \n )\n } else {\n return (\n
    \n

    Edit Your Dashboard Views

    \n

    Click Anywhere Outside of this Pop-up to Close

    \n \n \n \n \n \n \n \n \n \n \n \n {props.dashboardViewModalState.user_views.map((v, i) => {\n return (\n \n \n \n \n \n )\n })}\n \n
    NameWho Can ViewView DetailsEditDelete
    {v.name}{v.private ? 'Only Me' : 'All Can View'}{v.permission_details === 'edit_and_view' ? 'Edit & View' : 'View Only'}\n \n \n \n
    \n \n
    \n )\n }\n}\n\nexport default DashboardViewsEditor;","import React, { useState } from 'react';\nimport Modal from 'react-modal';\nimport AddAndEditDashboardView from './AddAndEditDashboardView';\nimport DashboardViewsEditor from './DashboardViewsEditor';\n\nconst DashboardViewModal = (props) => {\n const buildDashboadView = () => {\n if (props.dashboardViewModalState.action === 'add_view') {\n return \n }\n if (props.dashboardViewModalState.action === 'edit_view') {\n return \n }\n if (props.dashboardViewModalState.action === 'all_views') {\n return \n }\n }\n\n return (\n props.handleDashboardViewModal('close')}\n shouldCloseOnOverlayClick={true}\n >\n {buildDashboadView()}\n \n )\n}\n\nexport default DashboardViewModal;","import React, { useState, useEffect, Fragment } from 'react';\nimport DropdownFilter from '../utils/DropdownFilter';\nimport LoaderGraphic from '../utils/LoaderGraphic';\nimport { Data, Filters } from './contexts';\nimport { capitalize } from '../utils';\nimport AccountTree from '../utils/AccountTree';\nimport { LinesChart, ColumnsChart, LineColChart, ColLineChart } from '../utils/SVGIcons';\nimport { customersFinancialDetailRows, customersKPIsFormat, updateCustomersRows, addMetricRow } from '../utils/CustomerSheets';\nimport { defaultLayouts, moneyCharts, peopleCharts, customerCharts, mergeItems, layoutMaker, pageCharts } from './charts';\nimport { SurveyCharts, MoneySurvey, PeopleSurvey, CustomerSurvey } from './SurveyHelper';\nimport { ToastContainer, toast } from 'react-toastify';\nimport ahoy from 'ahoy.js';\nimport DashboardViewModal from './utils/DashboardViewModal';\nimport Modal from 'react-modal';\nimport HighchartsReact from 'highcharts-react-official';\nimport Highcharts from 'highcharts/highcharts.js';\n\nconst naicsPNLTitle = (naicsCode) => {\n if (naicsCode.startsWith('6212')) {\n return 'Dental P&L'\n } else if (naicsCode.startsWith('6211') || naicsCode.startsWith('6213')) {\n return 'Doctor P&L'\n } else if (naicsCode.startsWith('813')) {\n return 'Functional Expenses'\n } else {\n return null\n }\n}\n\nconst filterTabsByConditions = (tabs, userType, planAccess, naicsCode) => {\n let copilotVisible = planAccess.money.ai_viewable\n let naicsSpecificReports = ['6212', '6211', '6213', '813']\n\n return tabs.filter(tab => {\n if ((tab.key === 'peerview_copilot' && userType === 'Admin') || (tab.key === 'peerview_copilot' && planAccess.money.ai_viewable)) {\n return tab\n } else if (tab.key === 'naics_focused' && naicsSpecificReports.some(prefix => naicsCode.startsWith(prefix))) {\n tab.name = naicsPNLTitle(naicsCode)\n return tab\n } else if (tab.key !== 'peerview_copilot' && tab.key !== 'naics_focused') {\n return tab\n }\n });\n};\n\nconst ReportContainer = (props) => {\n Modal.setAppElement(document.getElementById('reports-container'));\n const navbar = window.navbar.navbar;\n let allTabs = filterTabsByConditions(props.report_tabs.all_tabs, navbar.user_type, props.planAccess, props.code)\n const [activeTab, setActiveTab] = useState(props.report_tabs.active_view)\n const [reportsOnTabs, setReportsOnTabs] = useState(allTabs.filter(v => v.display_on_tab).sort((a, b) => a.tab_order - b.tab_order));\n const [allReportTabs, setAllReportTabs] = useState(props.report_tabs.all_tabs)\n const [defaultDashboardViews, setDefaultDashboardViews] = useState(props.default_dashboard_views)\n const [customDashboardViews, setCustomDashboardViews] = useState(props.custom_dashboard_views)\n const [customLayouts, setCustomLayouts] = useState(props.custom_layouts)\n const [activeCustomLayout, setActiveCustomLayout] = useState({})\n // set default report period to annual/years options\n const [state, setState] = useState({\n report: props.page || 'money',\n pageTitle: capitalize(props.page) || '',\n clientName: props.client_name || '',\n calendarYearEnd: props.calendarYearEnd,\n fiscalYearStartMonth: props.fiscalYearStartMonth || 1,\n peerviewMetricsYears: props.peerviewMetricsYears || {},\n calcs: props.calcs,\n monthly_calcs: props.monthly_calcs,\n previousYearCalcs: {},\n yoy_calcs: {},\n previous_yoy_calcs: {},\n calcs_3_years_back: {},\n baseCalc: {},\n monthlyForecastCalcs: {},\n fetch: !props.calcs,\n loading: false,\n filters: props.user_filters.details || {},\n filterOptions: props.filterOptions || {},\n youAnnualOptions: {},\n youMonthlyOptions: {},\n peerAnnualOptions: {},\n peerMonthlyOptions: {},\n monthlyCompareWithOptions: [],\n tree: props.tree,\n yearRange: props.yearRange || [],\n n: props.n,\n docs_n: 0,\n forecast_scenarios: [],\n insufficient_data: false,\n insufficient_peer_data: false,\n reportSpecific: props.reportSpecific || {},\n isMonthlyAvailable: props.isMonthlyAvailable,\n quarterMonths: ['Q1', [1, 2, 3]],\n trendData: null,\n fiscalYearEnd: props.fiscal_year_end,\n companyYTDDate: null,\n aggregateYTDDate: null,\n companyReportSurvey: {},\n surveyTaken: false,\n surveyResults: {},\n pnlTree: {},\n balTree: {},\n });\n const [filtersModalIsOpen, setFiltersModalIsOpen] = useState(false)\n const [chatLoading, setChatLoading] = useState(false)\n const [chatLoader, setChatLoader] = useState({\n progress: 0,\n message: 'Initializing analysis process...',\n error: null\n })\n const [jobs, setJobs] = useState({\n id: null, subscribe: false\n })\n const [chat, setChat] = useState(props.chats.length > 0 ? props.chats[0] : {})\n const [allChats, setAllChats] = useState(props.chats)\n const [dashboard, setDashboard] = useState({ id: null, selectedItems: [], layout: [], noChangesMade: true });\n const [editDashboard, setEditDashboard] = useState({\n money: [{ sectionName: 'Money Peerview Metrics', sheet: 'peerview_charts', showDropdown: false }, { sectionName: 'Profit & Loss', sheet: 'pnl', showDropdown: false }, { sectionName: 'Balance Sheet', sheet: 'balance_sheet', showDropdown: false }, { sectionName: 'Cash Flow', sheet: 'cash_flow', showDropdown: false }, { sectionName: `KFI's`, sheet: 'kfis', showDropdown: false }],\n people: [{ sectionName: 'People Peerview Metrics', sheet: 'people_peerview_charts', showDropdown: false }, { sectionName: 'People Financial Detail', sheet: 'people_financial_detail', showDropdown: false }, { sectionName: `People KPI`, sheet: 'people_kpi', showDropdown: false }],\n customers: [{ sectionName: 'Customers Peerview Metrics', sheet: 'customers_peerview_charts', showDropdown: false }, { sectionName: 'Customers Financial Detail', sheet: 'customers_financial_detail', showDropdown: false }, { sectionName: `Customers KPI`, sheet: 'customers_kpi', showDropdown: false }]\n })\n const [surveyModalIsOpen, setSurveyModalOpen] = useState(false);\n const [dashboardViewModalState, setDashboardViewModalState] = useState({\n isOpen: false,\n action: 'close',\n edit_view: {},\n current_view: {},\n user_views: [],\n firms_views: []\n });\n const [surveyData, setSurveyData] = useState({\n sections: [],\n surveyLayoutData: {},\n surveyCharts: [],\n })\n const [reportMetrics, setReportMetrics] = useState({\n id: null,\n editMetrics: false,\n layout: [],\n peerview_charts: [],\n pnl: [],\n balance_sheet: [],\n cash_flow: [],\n kfis: [],\n people_peerview_charts: [],\n people_financial_detail: [],\n people_kpi: [],\n customers_peerview_charts: [],\n customers_financial_detail: [],\n customers_kpi: [],\n financial_detail: [],\n kpi: [],\n allSelectedMetrics: [],\n allSheetMetrics: [],\n noChangesMade: true,\n });\n\n const [moneyNotes, setMoneyNotes] = useState({\n userNotes: 'Edit Me! Add your own notes here...'\n })\n const [editChartModel, setEditChartModel] = useState({\n isOpen: false,\n chartDetails: null,\n childItem: false,\n highChartOptions: null,\n oldStyles: { seriesOne: { type: 'column' }, seriesTwo: { type: 'column' } },\n newStyles: { seriesOne: { type: 'column' }, seriesTwo: { type: 'column' } }\n })\n\n const moneyTreesBuilder = (selectedItems, tree, displayByView = 'yearsView') => {\n let pnlOnePageRows = [];\n let balOnePageRows = [];\n let cashFlowRows = [];\n let kfisRows = [];\n const pnlTree = new AccountTree({\n tree: tree['pnl'],\n page: 'money',\n sheet: 'pnl',\n displayByView: displayByView,\n selectedMetrics: selectedItems['pnl']\n })\n pnlTree.forEach((row) => {\n pnlOnePageRows.push(row)\n })\n pnlOnePageRows = pnlOnePageRows.filter(Boolean)\n\n const balTree = new AccountTree({\n tree: tree['balance_sheet'],\n page: 'money',\n sheet: 'balance_sheet',\n displayByView: displayByView,\n selectedMetrics: selectedItems['balance_sheet']\n })\n balTree.forEach((row) => {\n balOnePageRows.push(row)\n })\n balOnePageRows = balOnePageRows.filter(Boolean)\n\n const cashFlowTree = new AccountTree({\n tree: tree['cash_flow'],\n page: 'money',\n sheet: 'cash_flow',\n displayByView: displayByView,\n selectedMetrics: selectedItems['cash_flow']\n })\n cashFlowTree.forEach((row) => {\n cashFlowRows.push(row)\n })\n cashFlowRows = cashFlowRows.filter(Boolean)\n\n const kfisTree = new AccountTree({\n tree: tree['kfis'],\n page: 'money',\n sheet: 'kfis',\n displayByView: displayByView,\n selectedMetrics: selectedItems['kfis']\n })\n kfisTree.forEach((row) => {\n kfisRows.push(row)\n })\n kfisRows = kfisRows.filter(Boolean)\n return { pnlOnePageRows, balOnePageRows, cashFlowRows, kfisRows }\n }\n\n const auditTreesBuilder = (tree, displayByView = 'yearsView') => {\n let pnlOnePageRows = [];\n let balOnePageRows = [];\n let kfisRows = [];\n const pnlTree = new AccountTree({\n tree: tree['pnl'],\n page: 'money',\n sheet: 'pnl',\n displayByView: displayByView\n })\n pnlTree.forEach((row) => {\n pnlOnePageRows.push(row)\n })\n pnlOnePageRows = pnlOnePageRows.filter(Boolean)\n\n const balTree = new AccountTree({\n tree: tree['balance_sheet'],\n page: 'money',\n sheet: 'balance_sheet',\n displayByView: displayByView\n })\n balTree.forEach((row) => {\n balOnePageRows.push(row)\n })\n balOnePageRows = balOnePageRows.filter(Boolean)\n\n const kfisTree = new AccountTree({\n tree: tree['kfis'],\n page: 'money',\n sheet: 'kfis',\n displayByView: displayByView\n })\n kfisTree.forEach((row) => {\n kfisRows.push(row)\n })\n kfisRows = kfisRows.filter(Boolean)\n\n return { pnlOnePageRows, balOnePageRows, kfisRows }\n }\n\n const peopleTreesBuilder = (selectedItems, tree, displayByView = 'yearsView') => {\n let peopleFinancialDetailRows = [];\n let peopleKpiRows = [];\n\n const pnlTree = new AccountTree({\n tree: tree['pnl'],\n page: 'people',\n sheet: 'pnl',\n displayByView: displayByView,\n selectedMetrics: selectedItems['people_financial_detail']\n })\n pnlTree.forEach((row) => {\n peopleFinancialDetailRows.push(row)\n })\n peopleFinancialDetailRows = peopleFinancialDetailRows.filter(Boolean)\n\n const kpiTree = new AccountTree({\n tree: tree['kpi_people'],\n page: 'people',\n sheet: 'kpi_people',\n displayByView: displayByView,\n selectedMetrics: selectedItems['people_kpi']\n })\n kpiTree.forEach((row) => {\n peopleKpiRows.push(row)\n })\n peopleKpiRows = peopleKpiRows.filter(Boolean)\n\n return { peopleFinancialDetailRows, peopleKpiRows }\n }\n\n const updateCustomLayout = async (customKey) => {\n let activeCustomLayout = customLayouts.find(c => c.key === customKey)\n try {\n const res = await fetch(`/dashboard_views/update_custom_layout`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n custom_layout: {\n id: activeCustomLayout.id,\n dashboard_layout: activeCustomLayout.dashboard_layout\n }\n }),\n })\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n setCustomLayouts((prevState) => {\n return prevState.map((l) => {\n if (l.key === customKey) {\n l['noChangesMade'] = true\n }\n return l\n })\n })\n toast.success('Changes saved!', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n } catch (error) {\n console.log(error)\n toast.error(`Sorry something went wrong. ${error}.`, {\n position: 'top-right',\n autoClose: 5000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n const handleEditDashBoard = (sheet, report = null) => {\n let finalEditSections = null\n setEditDashboard((prevState) => {\n if (report) {\n finalEditSections = _.cloneDeep(prevState)\n finalEditSections[report] = finalEditSections[report].map(section => {\n if (section['sheet'] === sheet) {\n section['showDropdown'] = !section['showDropdown']\n }\n return section;\n })\n } else {\n let newEditSections = _.cloneDeep(prevState)\n finalEditSections = newEditSections.map(section => {\n if (section['sheet'] === sheet) {\n section['showDropdown'] = !section['showDropdown']\n }\n return section;\n })\n }\n\n return finalEditSections;\n })\n }\n\n const handleMoneyNotes = (newNotes) => {\n setMoneyNotes(() => {\n return {\n userNotes: newNotes\n }\n })\n setReportMetrics(prevState => {\n let currentView = dashboardViewModalState.current_view\n let noChangesVal = currentView.permission_details === 'view_only' && !dashboardViewModalState.user_views.find(v => v.id === currentView.id)\n return {\n ...prevState,\n noChangesMade: noChangesVal\n }\n })\n }\n\n const editingParentAndChildLayouts = (report, metricKey, childLayoutKey, selectedMetrics, oldDashboardLayout, oldAllSheetMetrics) => {\n let newLayout = []\n let newSheetRows = null;\n // Toggling a child key in a child/nested layout\n if (childLayoutKey) {\n let childLayout, childMetric = null;\n // Look for parent of child key in previous selected metrics\n let parentMetricIndex = selectedMetrics.findIndex(checked => checked['relatedCheckedKey'] === metricKey);\n if (selectedMetrics[parentMetricIndex]) {\n if (!selectedMetrics[parentMetricIndex].layout) {\n selectedMetrics.splice(parentMetricIndex, 1)\n }\n }\n // update the rows and selection pop up for checked metrics\n // add or remove any metrics for the new check metrics to build the dashboard layout\n newSheetRows = oldAllSheetMetrics.map(m => {\n // Look for parent of child key in previous selected metrics\n let parentMetricIndex = selectedMetrics.findIndex(checked => checked['relatedCheckedKey'] === metricKey);\n if (m['relatedCheckedKey'] === metricKey && m['displayChart']) {\n let childCheckedItemsNumber = 0;\n let childItem = null;\n\n if (m.layout.length > 0) {\n m.layout = m.layout.map(i => {\n if (i.key.includes('total_revenue_growth_rate_')) {\n i.key = i.key.replace('total_revenue_growth_rate_', 'total_revenue_')\n }\n if (i.key === 'total_revenue_bar_chart') {\n i.key = 'total_revenue_growth_rate'\n }\n i.checked = i.key === childLayoutKey ? !i.checked : i.checked;\n\n if (i.checked) {\n childCheckedItemsNumber += 1\n }\n return i;\n })\n }\n\n if (childCheckedItemsNumber) {\n m['checked'] = true\n // if parent doesn't exist in selectedMetrics\n if (parentMetricIndex < 0) {\n let newMetric = _.cloneDeep(m)\n newMetric.layout = newMetric.layout.filter(item => item.checked)\n // 1 child doesn't need child layout\n if (newMetric.layout.length === 1) {\n let soloChild = newMetric.layout[0]\n soloChild.metricRow = m\n if (!Object.hasOwnProperty('relatedCheckedKey')) { soloChild['relatedCheckedKey'] = soloChild.metricRow['relatedCheckedKey'] }\n selectedMetrics.push(soloChild)\n } else {\n selectedMetrics.push(newMetric)\n }\n } else {\n // if parent exists\n let newMetric = _.cloneDeep(m)\n let newChildLayout = newMetric.layout.filter(item => item.checked)\n // 1 child doesn't need child layout\n if (newChildLayout.length === 1) {\n // Check if metric already selected from the Money, People, or Customers. Stay with metric from Money P&L if it already is selected.\n let metricAlreadySelected = selectedMetrics.find(s => s.key === newChildLayout[0].key)\n if (!metricAlreadySelected || (metricAlreadySelected && newChildLayout[0]['metricRow'] && newChildLayout[0]['metricRow']['sheet'] === 'pnl')) {\n selectedMetrics.splice(parentMetricIndex, 1)\n let soloChild = newChildLayout[0]\n soloChild.metricRow = m\n if (!Object.hasOwnProperty('relatedCheckedKey')) { soloChild['relatedCheckedKey'] = soloChild.metricRow['relatedCheckedKey'] }\n selectedMetrics.push(soloChild)\n }\n } else {\n // handle parent metrics with child layouts\n if (selectedMetrics[parentMetricIndex].layout) {\n selectedMetrics[parentMetricIndex].layout = newChildLayout\n } else {\n // More than 1 child will need a parent\n selectedMetrics.splice(parentMetricIndex, 1)\n newMetric.layout = newChildLayout;\n selectedMetrics.push(newMetric)\n }\n }\n }\n } else {\n // if no child keys are checked remove the parent metric if exists\n m['checked'] = false\n if (parentMetricIndex > -1) { selectedMetrics.splice(parentMetricIndex, 1) }\n }\n }\n return m;\n })\n } else {\n // Deals with metrics not in child layouts\n let oneAlreadyFound = 0\n let allChecked = null;\n\n newSheetRows = oldAllSheetMetrics.map(m => {\n let checkedMetricIndex = selectedMetrics.findIndex(checked => checked['relatedCheckedKey'] === metricKey)\n\n if ((m['relatedCheckedKey'] === metricKey && m['displayChart']) || (report === 'customers' && m['relatedCheckedKey'] === metricKey && m['displayChart'])) {\n m['checked'] = oneAlreadyFound ? allChecked : !m['checked']\n oneAlreadyFound += 1\n if (oneAlreadyFound === 1) { allChecked = m['checked'] }\n\n if (m.layout && m.layout.length > 0) {\n m.layout = m.layout.map(i => {\n if (!i.key.includes('_notes') && m['checked']) {\n i.checked = m['checked'];\n } else if (!m['checked']) {\n i.checked = false\n }\n return i;\n })\n }\n\n if (m['checked']) {\n if (checkedMetricIndex < 0) {\n m.onManyReports = oneAlreadyFound > 1\n selectedMetrics.push(m)\n }\n } else {\n if (checkedMetricIndex > -1) {\n selectedMetrics.splice(checkedMetricIndex, 1)\n }\n }\n }\n return m\n })\n }\n\n selectedMetrics.forEach((s, i) => {\n let oldParentItem = null;\n let parentLayout = [];\n oldParentItem = oldDashboardLayout.find(o => o['i'] === s.key);\n if (oldParentItem && s.layout) {\n let parentH = 2;\n let parentW = 3;\n let widthCounter = 0\n s.layout.forEach((c) => {\n let oldChildItem = oldParentItem.layout.find(l => l.i === c.key)\n if (oldChildItem && c['checked']) {\n parentLayout.push(oldChildItem)\n if (widthCounter >= 3) {\n parentH += oldChildItem.h;\n widthCounter = 0\n }\n parentW += oldChildItem.w;\n widthCounter += oldChildItem.w;\n } else if (c['checked']) {\n let newChildItem = layoutMaker(c, i)\n parentLayout.push(newChildItem)\n if (widthCounter >= 3) {\n parentH += newChildItem.h;\n widthCounter = 0\n }\n parentW += newChildItem.w;\n widthCounter += newChildItem.w;\n }\n })\n\n oldParentItem.layout = parentLayout;\n oldParentItem.w = parentW > 3 ? 3 : parentW\n oldParentItem.h = parentH\n newLayout.push(oldParentItem)\n } else if (oldParentItem) {\n newLayout.push(oldParentItem)\n } else {\n // parent with kids\n if (s['layout']) {\n let parentH = 2;\n let parentW = 3;\n let widthCounter = 0\n let miniLayout = s['layout'].filter(child => child['checked']).map((l, i) => {\n let layoutItem = layoutMaker(l, i)\n if (widthCounter >= 3) {\n parentH += layoutItem.h;\n widthCounter = 0\n }\n parentW += layoutItem.w;\n widthCounter += layoutItem.w;\n return layoutItem;\n })\n newLayout.push({\n i: s.key,\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n x: ((i * 3) % (6)),\n y: Infinity,\n w: parentW > 3 ? 3 : parentW,\n h: parentH,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se'],\n layout: miniLayout,\n metricRow: s\n })\n } else {\n // no kids\n let layoutItem = layoutMaker(s, metricKey)\n newLayout.push(layoutItem);\n }\n }\n })\n\n return { newRows: newSheetRows, newLayout: newLayout };\n }\n\n const handleSelectAndLayout = (page, sheet, metricKey, childLayoutKey = '', report = null) => {\n let newLayout = []\n let selectedMetrics = null;\n\n setReportMetrics((prevState) => {\n selectedMetrics = _.cloneDeep(prevState.allSelectedMetrics);\n let newSheetRows = null;\n let oldDashboardLayout = _.cloneDeep(prevState.layout)\n let oldAllSheetMetrics = _.cloneDeep(prevState.allSheetMetrics)\n let actualPage = page === 'money' ? report : page\n let { newRows, newLayout } = editingParentAndChildLayouts(actualPage, metricKey, childLayoutKey, selectedMetrics, oldDashboardLayout, oldAllSheetMetrics)\n\n return {\n ...prevState,\n peerview_charts: newRows.filter(m => m.sheet === 'peerview_charts'),\n pnl: newRows.filter(m => m.sheet === 'pnl'),\n balance_sheet: newRows.filter(m => m.sheet === 'balance_sheet'),\n cash_flow: newRows.filter(m => m.sheet === 'cash_flow'),\n kfis: newRows.filter(m => m.sheet === 'kfis'),\n people_peerview_charts: newRows.filter(m => m.sheet === 'people_peerview_charts'),\n people_financial_detail: newRows.filter(m => m.sheet === 'people_financial_detail'),\n people_kpi: newRows.filter(m => m.sheet === 'people_kpi'),\n customers_peerview_charts: newRows.filter(m => m.sheet === 'customers_peerview_charts'),\n customers_financial_detail: newRows.filter(m => m.sheet === 'customers_financial_detail'),\n customers_kpi: newRows.filter(m => m.sheet === 'customers_kpi'),\n allSelectedMetrics: selectedMetrics,\n allSheetMetrics: newRows,\n layout: newLayout,\n noChangesMade: false\n }\n })\n\n }\n\n const handleDashboardSelections = (item, parentItemInfo = null) => {\n let itemsCheckedTrue = [];\n setDashboard((prevState) => {\n let oldDashInfo = _.cloneDeep(prevState);\n if (parentItemInfo) {\n let parentItem = oldDashInfo.selectedItems.find((c) => c.key === parentItemInfo.key);\n if (parentItem.children) {\n let childItem = parentItem.children.find((child) => child.key === item.key);\n childItem.checked = !childItem.checked\n let numberOfChildrenChecked = parentItem.children.filter(child => child.checked)\n parentItem.checked = numberOfChildrenChecked.length > 0\n }\n } else {\n let selectedChart = oldDashInfo.selectedItems.find((c) => c.key === item.key);\n let checkStatus = !selectedChart.checked\n if (selectedChart.children) {\n selectedChart.children = selectedChart.children.map((c) => {\n c.checked = checkStatus\n return c;\n })\n }\n selectedChart.checked = checkStatus;\n }\n\n oldDashInfo.selectedItems.forEach((c) => {\n if (c.checked) {\n itemsCheckedTrue.push(c.key)\n }\n })\n\n let chartsLength = itemsCheckedTrue.length;\n let newLayout = itemsCheckedTrue.map((c, i) => {\n let itemLayout = oldDashInfo.layout.find((d) => d['i'] === c);\n if (itemLayout) {\n return itemLayout\n } else {\n if (c.includes('_gauges')) {\n return { i: c, isBounded: false, isDraggable: true, isResizable: false, x: 0, y: 0, w: 6, h: 1, minW: 6, minH: 1, maxW: 6, maxH: 12, resizeHandles: ['se'] }\n } else if (c.includes('pie')) {\n return {\n i: c,\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n x: ((i * 2) % (6)),\n y: ((i * 2) % (3)),\n w: 2,\n h: 2,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se']\n }\n } else {\n return {\n i: c,\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n x: ((i * 2) % (6)),\n y: Infinity,\n w: 2,\n h: 1,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se']\n }\n }\n }\n })\n\n return { ...prevState, selectedItems: oldDashInfo.selectedItems, layout: newLayout, noChangesMade: false }\n })\n }\n\n const handleSelectAll = (select) => {\n setDashboard((prevState) => {\n let newLayout = []\n let oldDashInfo = _.cloneDeep(prevState);\n let allItems = oldDashInfo.selectedItems.map((item) => {\n if (item.children) {\n item.children = item.children.map((c) => {\n c.checked = select\n return c;\n })\n }\n item.checked = select;\n return item;\n })\n\n allItems.forEach((c, i) => {\n if (c.checked) {\n let itemLayout = oldDashInfo.layout.find((d) => d['i'] === c.key);\n if (itemLayout) {\n newLayout.push(itemLayout)\n } else {\n if (c.key.includes('_gauges')) {\n newLayout.push({ i: c.key, isBounded: false, isDraggable: true, isResizable: false, x: 0, y: 0, w: 6, h: 1, minW: 6, minH: 1, maxW: 6, maxH: 12, resizeHandles: ['se'] })\n } else if (c.key.includes('pie')) {\n newLayout.push({\n i: c.key,\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n x: ((i * 2) % (6)),\n y: ((i * 2) % (3)),\n w: 2,\n h: 2,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se']\n })\n } else {\n newLayout.push({\n i: c.key,\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n x: ((i * 2) % (6)),\n y: Infinity,\n w: 2,\n h: 1,\n minW: 1,\n minH: 1,\n maxW: 6,\n maxH: 12,\n resizeHandles: ['se']\n })\n }\n }\n }\n })\n\n return { ...prevState, selectedItems: allItems, layout: newLayout, noChangesMade: false }\n })\n }\n\n const createDashBoardView = async (newDashView) => {\n let newView = {\n name: newDashView.name,\n private: newDashView.viewVisibilty === 'only_me',\n report_type: report,\n permission_details: newDashView.viewPermission,\n view_apply: newDashView.viewApply\n }\n\n if (report === 'money') {\n newView['selected_items'] = {\n peerview_charts: reportMetrics['peerview_charts'],\n pnl: reportMetrics['pnl'],\n balance_sheet: reportMetrics['balance_sheet'],\n cash_flow: reportMetrics['cash_flow'],\n kfis: reportMetrics['kfis'],\n money_all_selected_items: reportMetrics['allSelectedMetrics'],\n money_user_notes: moneyNotes['userNotes'],\n people_peerview_charts: reportMetrics['people_peerview_charts'],\n people_financial_detail: reportMetrics['people_financial_detail'],\n people_kpi: reportMetrics['people_kpi'],\n customers_peerview_charts: reportMetrics['customers_peerview_charts'],\n customers_financial_detail: reportMetrics['customers_financial_detail'],\n customers_kpi: reportMetrics['customers_kpi'],\n }\n newView['dashboard_layout'] = reportMetrics['layout']\n } else if (report === 'customers') {\n newView['selected_items'] = {\n peerview_charts: reportMetrics['peerview_charts'],\n pnl: reportMetrics['pnl'],\n balance_sheet: reportMetrics['balance_sheet'],\n cash_flow: reportMetrics['cash_flow'],\n kfis: reportMetrics['kfis'],\n all_selected_items: reportMetrics['allSelectedMetrics']\n }\n newView['dashboard_layout'] = reportMetrics['layout']\n } else {\n newView['selected_items'] = dashboard.selectedItems\n newView['dashboard_layout'] = dashboard.layout\n }\n\n try {\n const res = await fetch(`/dashboard_views`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(newView),\n })\n const dashViewRes = await res.json();\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n if (report === 'money' || report === 'customers') {\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: dashViewRes.current_view.id,\n noChangesMade: true\n }\n })\n\n setDashboardViewModalState(prevState => {\n return {\n ...prevState,\n current_view: dashViewRes.current_view,\n user_views: dashViewRes.user_views,\n firms_views: dashViewRes.firms_views\n }\n })\n } else {\n setDashboard((prevState) => {\n return {\n ...prevState,\n id: dashViewRes.current_view.id,\n noChangesMade: true\n }\n })\n setDashboardViewModalState(prevState => {\n return {\n ...prevState,\n current_view: dashViewRes.current_view,\n user_views: dashViewRes.user_views,\n firms_views: dashViewRes.firms_views\n }\n })\n }\n toast.success('New view created!', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n } catch (error) {\n console.log(error);\n let errorMessage = 'New view was not created properly'\n toast.error(`Sorry something went wrong. ${errorMessage}.`, {\n position: 'top-right',\n autoClose: 5000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n // Need to Update here\n const getDashBoardView = async (dashViewId) => {\n try {\n const res = await fetch(`/dashboard_views/${dashViewId}`, {\n method: 'GET',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n }\n })\n const dashViewRes = await res.json();\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n let currentDash = dashViewRes['current_view']\n if (report === 'money' || report === 'people') {\n let allSelectedKeys = []\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n let peopleLayout = [];\n let peoplePeerviewCharts = [];\n let peoplePeerviewChartsSelected = [];\n let peopleFDRows = []\n let customersLayout = [];\n let customersPeerviewCharts = [];\n let customersPeerviewChartsSelected = [];\n let customersFDRows = []\n let customersKpiRows = customersKPIsFormat(filters['display_columns_by'], filters['report_period']);\n\n if (currentDash['selected_items']['peerview_charts'].length) {\n let { selectedItems } = mergeItems(report, currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n\n // let peerviewChartKeys = currentDash['selected_items']['peerview_charts'].map(p => p.key)\n // let pnlKeys = currentDash['selected_items']['pnl'].map(p => p.key)\n // let balKeys = currentDash['selected_items']['balance_sheet'].map(b => b.key)\n // let cashKeys = currentDash['selected_items']['cash_flow'].map(c => c.key)\n // let kfisKeys = currentDash['selected_items']['kfis'].map(k => k.key)\n // let kpiKeys = currentDash['selected_items']['kpi'].map(k => k.key)\n\n // let peoplePChartsKeys = currentDash['selected_items']['people_peerview_charts'] ? currentDash['selected_items']['people_peerview_charts'].map(p => p.key) : []\n // let peopleFDKeys = currentDash['selected_items']['people_financial_detail'] ? currentDash['selected_items']['people_financial_detail'].map(b => b.key) : []\n // let peopleKPI = currentDash['selected_items']['people_kpi'] ? currentDash['selected_items']['people_kpi'].map(c => c.key) : []\n // let customersPChartsKeys = currentDash['selected_items']['customers_peerview_charts'] ? currentDash['selected_items']['customers_peerview_charts'].map(k => k.key) : []\n // let customersFD = currentDash['selected_items']['customers_financial_detail'] ? currentDash['selected_items']['customers_financial_detail'].map(b => b.key) : []\n // let customersKPI = currentDash['selected_items']['customers_kpi'] ? currentDash['selected_items']['customers_kpi'].map(c => c.key) : []\n\n // allSelectedKeys = [...peerviewChartKeys, ...pnlKeys, ...balKeys, ...cashKeys, ...kfisKeys, ...peoplePChartsKeys, ...peopleFDKeys, ...peopleKPI, ...customersPChartsKeys, ...customersFD, ...customersKPI]\n // let currentDashLayout = currentDash['dashboard_layout'].filter(l => allSelectedKeys.includes(l.i))\n layout = currentDash['dashboard_layout']\n } else {\n peerviewCharts = moneyCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['people_peerview_charts'] && currentDash['selected_items']['people_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', currentDash['selected_items']['people_peerview_charts'], []);\n peoplePeerviewCharts = selectedItems;\n } else {\n peoplePeerviewCharts = peopleCharts['peerview_charts']\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['customers_peerview_charts'] && currentDash['selected_items']['customers_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['customers_peerview_charts'], []);\n customersPeerviewCharts = selectedItems;\n } else {\n customersPeerviewCharts = customerCharts['peerview_charts']\n }\n\n let displayByView = 'yearsView'\n if (filters['display_columns_by'] === 'Years' && filters['report_period'] === 'Year to Date') {\n displayByView = 'ytdView'\n }\n if (filters['display_columns_by'] === 'Months') {\n displayByView = 'monthsView'\n }\n // Money is going to have all people and customers\n if (report === 'money') {\n let { pnlOnePageRows, balOnePageRows, cashFlowRows, kfisRows } = moneyTreesBuilder(currentDash['selected_items'], state.tree, displayByView)\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], state.tree, displayByView)\n\n // People & Customers contain similar metrics found in Money P&L\n if (!currentDash['selected_items']['people_financial_detail']) {\n peopleFDRows = updatePeopleCustomersChecks(peopleFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n peopleFDRows = peopleFinancialDetailRows\n }\n\n if (!currentDash['selected_items']['customers_financial_detail']) {\n customersFDRows = updatePeopleCustomersChecks(customersFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n customersFDRows = updateCustomersRows(currentDash['selected_items']['customers_financial_detail'], customersFinancialDetailRows)\n }\n\n if (!currentDash['selected_items']['customers_kpi']) {\n customersKpiRows = updatePeopleCustomersChecks(customersKpiRows, currentDash['selected_items']['pnl'])\n } else {\n // customersKpiRows = updateCustomersRows(currentDash['selected_items']['customers_kpi'], customersKpiRows)\n customersKpiRows = updateCustomersRows(currentDash['selected_items']['customers_kpi'], customersKpiRows)\n }\n\n let selectedItems = currentDash['selected_items']['money_all_selected_items'].length > 0 ? currentDash['selected_items']['money_all_selected_items'] : peerviewChartsSelected;\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash\n }\n })\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id,\n layout: layout,\n peerview_charts: peerviewCharts,\n pnl: pnlOnePageRows,\n balance_sheet: balOnePageRows,\n cash_flow: cashFlowRows,\n kfis: kfisRows,\n people_peerview_charts: peoplePeerviewCharts,\n people_financial_detail: peopleFDRows,\n people_kpi: peopleKpiRows,\n customers_peerview_charts: customersPeerviewCharts,\n customers_financial_detail: customersFDRows,\n customers_kpi: customersKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...pnlOnePageRows, ...balOnePageRows, ...cashFlowRows, ...kfisRows, ...peoplePeerviewCharts, ...peopleFDRows, ...peopleKpiRows, ...customersPeerviewCharts, ...customersFDRows, ...customersKpiRows],\n noChangesMade: true\n }\n })\n } else if (report === 'people') {\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], state.tree, displayByView)\n let selectedItems = currentDash['selected_items']['all_selected_items'].length > 0 ? currentDash['selected_items']['all_selected_items'] : peerviewChartsSelected;\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash\n }\n })\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id,\n layout: layout,\n peerview_charts: peerviewCharts,\n financial_detail: peopleFinancialDetailRows,\n kpi: peopleKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...peopleFinancialDetailRows, ...peopleKpiRows],\n noChangesMade: true\n }\n })\n }\n } else if (report === 'customers') {\n let finalLayout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts']) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n finalLayout = [...currentDash['dashboard_layout']]\n } else {\n peerviewCharts = customerCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n finalLayout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let kpiRows = customersKPIsFormat(filters['display_columns_by'], filters['report_period']);\n let finalSelectedItems = []\n if (currentDash['selected_items'] && !currentDash['selected_items']['all_selected_items']) {\n let currentSelectedItems = currentDash['selected_items']\n let { layout, selectedItems } = mergeItems('customers', currentSelectedItems, dashBoardRes['current_view']['dashboard_layout'])\n finalLayout = layout\n finalSelectedItems = selectedItems\n } else {\n finalSelectedItems = currentDash['selected_items']['all_selected_items']\n finalLayout = currentDash['dashboard_layout']\n }\n let finalFinancialDetailRows = updateCustomersRows(finalSelectedItems, financialDetailRows)\n let finalKpiRows = updateCustomersRows(finalSelectedItems, kpiRows)\n finalLayout = addMetricRow(finalLayout)\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash\n }\n })\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id,\n layout: finalLayout,\n peerview_charts: peerviewCharts,\n financial_detail: finalFinancialDetailRows,\n kpi: finalKpiRows,\n allSelectedMetrics: finalSelectedItems,\n allSheetMetrics: [...peerviewCharts, ...finalFinancialDetailRows, ...finalKpiRows],\n noChangesMade: true\n }\n })\n\n } else {\n setDashboardViewModalState(prevState => {\n return {\n ...prevState,\n current_view: currentDash\n }\n })\n setDashboard(() => {\n return {\n id: currentDash.id,\n selectedItems: currentDash.selected_items,\n layout: currentDash.dashboard_layout,\n noChangesMade: true\n }\n })\n }\n }\n } catch (error) {\n console.log(error);\n toast.error(`Sorry something went wrong.`, {\n position: 'top-right',\n autoClose: 5000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n const updateDashBoardView = async (e = false, dashId = null, dashViewInfo = null) => {\n if (e) { e.preventDefault() }\n let dashViewId = dashId\n let updatedView = { report_type: state.report }\n if (dashViewInfo) {\n updatedView['name'] = dashViewInfo.name\n updatedView['private'] = dashViewInfo.viewVisibilty === 'only_me'\n updatedView['permission_details'] = dashViewInfo.viewPermission\n }\n\n if (report === 'money') {\n if (!dashViewId) dashViewId = reportMetrics.id\n updatedView['selected_items'] = {\n peerview_charts: reportMetrics['peerview_charts'],\n pnl: reportMetrics['pnl'],\n balance_sheet: reportMetrics['balance_sheet'],\n cash_flow: reportMetrics['cash_flow'],\n kfis: reportMetrics['kfis'],\n financial_detail: reportMetrics['financial_detail'],\n kpi: reportMetrics['kpi'],\n money_all_selected_items: reportMetrics['allSelectedMetrics'],\n money_user_notes: moneyNotes['userNotes'],\n people_peerview_charts: reportMetrics['people_peerview_charts'],\n people_financial_detail: reportMetrics['people_financial_detail'],\n people_kpi: reportMetrics['people_kpi'],\n customers_peerview_charts: reportMetrics['customers_peerview_charts'],\n customers_financial_detail: reportMetrics['customers_financial_detail'],\n customers_kpi: reportMetrics['customers_kpi'],\n }\n updatedView['dashboard_layout'] = reportMetrics['layout']\n setReportMetrics((prevState) => {\n return { ...prevState, noChangesMade: true }\n })\n } else if (report === 'people' || report === 'customers') {\n if (!dashViewId) dashViewId = reportMetrics.id\n updatedView['selected_items'] = {\n peerview_charts: reportMetrics['peerview_charts'],\n financial_detail: reportMetrics['financial_detail'],\n kpi: reportMetrics['kpi'],\n all_selected_items: reportMetrics['allSelectedMetrics'],\n }\n updatedView['dashboard_layout'] = reportMetrics['layout']\n setReportMetrics((prevState) => {\n return { ...prevState, noChangesMade: true }\n })\n } else {\n if (!dashViewId) dashViewId = dashboard.id\n updatedView['selected_items'] = dashboard.selectedItems\n updatedView['dashboard_layout'] = dashboard.layout\n setDashboard((prevState) => {\n return { ...prevState, noChangesMade: true }\n })\n }\n try {\n const res = await fetch(`/dashboard_views/${dashViewId}`, {\n method: 'PATCH',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(updatedView),\n })\n const dashViewRes = await res.json()\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n setDashboardViewModalState(prevState => {\n if (reportMetrics.id !== dashViewId && report === 'money') {\n return {\n ...prevState,\n user_views: dashViewRes.user_views,\n firms_views: dashViewRes.firms_views\n }\n } else if (dashboard.id !== dashViewId && report !== 'money') {\n return {\n ...prevState,\n user_views: dashViewRes.user_views,\n firms_views: dashViewRes.firms_views\n }\n } else {\n return {\n ...prevState,\n current_view: dashViewRes.current_view,\n user_views: dashViewRes.user_views,\n firms_views: dashViewRes.firms_views\n }\n }\n })\n toast.success('Changes to view saved!', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n } catch (error) {\n console.log(error);\n toast.error('Sorry something went wrong. Changes to view could not be saved.', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n const deleteDashBoardView = async (e, dashViewId) => {\n e.preventDefault()\n try {\n const res = await fetch(`/dashboard_views/${dashViewId}`, {\n method: 'DELETE',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n }\n })\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n let defaultView = dashboardViewModalState.firms_views.find(v => v.name === 'Default')\n let currentViewDeleted = dashViewId === dashboardViewModalState.current_view.id\n setDashboardViewModalState(prevState => {\n let oldUserViews = prevState.user_views\n let newUserViews = oldUserViews.filter(v => v.id !== dashViewId)\n let oldFirmsViews = prevState.firms_views\n let newFirmsViews = oldFirmsViews.filter(v => v.id !== dashViewId)\n\n if (currentViewDeleted) {\n return {\n ...prevState,\n current_view: defaultView,\n user_views: newUserViews,\n firms_views: newFirmsViews\n }\n } else {\n return {\n ...prevState,\n user_views: newUserViews,\n firms_views: newFirmsViews\n }\n }\n })\n\n if (report === 'audit' && currentViewDeleted) {\n setDashboard((prevState) => {\n return {\n id: defaultView.id,\n selectedItems: defaultView.selected_items,\n layout: defaultView.dashboard_layout,\n noChangesMade: true\n }\n })\n }\n\n if ((report === 'money' && currentViewDeleted) || (report === 'people' && currentViewDeleted)) {\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n let peopleLayout = [];\n let peoplePeerviewCharts = [];\n let peoplePeerviewChartsSelected = [];\n let peopleFDRows = []\n let customersLayout = [];\n let customersPeerviewCharts = [];\n let customersPeerviewChartsSelected = [];\n let customersFDRows = []\n let customersKpiRows = customersKPIsFormat(filters['display_columns_by'], filters['report_period']);\n\n if (defaultView['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems(report, defaultView['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n // let peerviewChartKeys = defaultView['selected_items']['peerview_charts'].map(p => p.key)\n // let pnlKeys = defaultView['selected_items']['pnl'].map(p => p.key)\n // let balKeys = defaultView['selected_items']['balance_sheet'].map(b => b.key)\n // let cashKeys = defaultView['selected_items']['cash_flow'].map(c => c.key)\n // let kfisKeys = defaultView['selected_items']['kfis'].map(k => k.key)\n\n // let peoplePChartsKeys = defaultView['selected_items']['people_peerview_charts'] ? defaultView['selected_items']['people_peerview_charts'].map(p => p.key) : []\n // let peopleFDKeys = defaultView['selected_items']['people_financial_detail'] ? defaultView['selected_items']['people_financial_detail'].map(b => b.key) : []\n // let peopleKPI = defaultView['selected_items']['people_kpi'] ? defaultView['selected_items']['people_kpi'].map(c => c.key) : []\n // let customersPChartsKeys = defaultView['selected_items']['customers_peerview_charts'] ? defaultView['selected_items']['customers_peerview_charts'].map(k => k.key) : []\n // let customersFD = defaultView['selected_items']['customers_financial_detail'] ? defaultView['selected_items']['customers_financial_detail'].map(b => b.key) : []\n // let customersKPI = defaultView['selected_items']['customers_kpi'] ? defaultView['selected_items']['customers_kpi'].map(c => c.key) : []\n // let allSelectedKeys = [...peerviewChartKeys, ...pnlKeys, ...balKeys, ...cashKeys, ...kfisKeys, ...kpiKeys]\n // let currentDashLayout = defaultView['dashboard_layout'].filter(l => allSelectedKeys.includes(l.i))\n layout = defaultView['dashboard_layout']\n } else {\n peerviewCharts = report === 'money' ? moneyCharts['peerview_charts'] : peopleCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = report === 'money' ? defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key) : defaultLayouts['people_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n if (defaultView['selected_items'] && defaultView['selected_items']['people_peerview_charts'] && defaultView['selected_items']['people_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', defaultView['selected_items']['people_peerview_charts'], []);\n peoplePeerviewCharts = selectedItems;\n } else {\n peoplePeerviewCharts = peopleCharts['peerview_charts']\n }\n\n if (defaultView['selected_items'] && defaultView['selected_items']['customers_peerview_charts'] && defaultView['selected_items']['customers_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', defaultView['selected_items']['customers_peerview_charts'], []);\n customersPeerviewCharts = selectedItems;\n } else {\n customersPeerviewCharts = customerCharts['peerview_charts']\n }\n\n let displayByView = 'yearsView'\n if (filters['display_columns_by'] === 'Years' && filters['report_period'] === 'Year to Date') {\n displayByView = 'ytdView'\n }\n if (filters['display_columns_by'] === 'Months') {\n displayByView = 'monthsView'\n }\n\n if (report === 'money') {\n let { pnlOnePageRows, balOnePageRows, cashFlowRows, kfisRows } = moneyTreesBuilder(defaultView['selected_items'], state.tree, displayByView)\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(defaultView['selected_items'], state.tree, displayByView)\n\n // People & Customers contain similar metrics found in Money P&L\n if (!defaultView['selected_items']['people_financial_detail']) {\n peopleFDRows = updatePeopleCustomersChecks(peopleFinancialDetailRows, defaultView['selected_items']['pnl'])\n } else {\n peopleFDRows = peopleFinancialDetailRows\n }\n\n if (!defaultView['selected_items']['customers_financial_detail']) {\n customersFDRows = updatePeopleCustomersChecks(customersFinancialDetailRows, defaultView['selected_items']['pnl'])\n } else {\n customersFDRows = defaultView['selected_items']['customers_financial_detail']\n // customersFDRows = updateCustomersRows(defaultView['selected_items']['customers_financial_detail'], customersFinancialDetailRows)\n }\n\n if (!defaultView['selected_items']['customers_kpi']) {\n customersKpiRows = updatePeopleCustomersChecks(customersKpiRows, defaultView['selected_items']['pnl'])\n } else {\n // customersKpiRows = updateCustomersRows(defaultView['selected_items']['customers_kpi'], customersKpiRows)\n customersKpiRows = updateCustomersRows(defaultView['selected_items']['customers_kpi'], customersKpiRows)\n }\n\n let selectedItems = defaultView['selected_items']['money_all_selected_items'].length > 0 ? defaultView['selected_items']['money_all_selected_items'] : peerviewChartsSelected;\n defaultView.selected_items = selectedItems\n defaultView.dashboard_layout = layout\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: defaultView.id,\n layout: layout,\n peerview_charts: peerviewCharts,\n pnl: pnlOnePageRows,\n balance_sheet: balOnePageRows,\n cash_flow: cashFlowRows,\n kfis: kfisRows,\n people_peerview_charts: peoplePeerviewCharts,\n people_financial_detail: peopleFDRows,\n people_kpi: peopleKpiRows,\n customers_peerview_charts: customersPeerviewCharts,\n customers_financial_detail: customersFDRows,\n customers_kpi: customersKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...pnlOnePageRows, ...balOnePageRows, ...cashFlowRows, ...kfisRows, ...peoplePeerviewCharts, ...peopleFDRows, ...peopleKpiRows, ...customersPeerviewCharts, ...customersFDRows, ...customersKpiRows],\n noChangesMade: true\n }\n })\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: defaultView\n }\n })\n } else if (report === 'people') {\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], state.tree, displayByView)\n let selectedItems = currentDash['selected_items']['all_selected_items'].length > 0 ? currentDash['selected_items']['all_selected_items'] : peerviewChartsSelected;\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash\n }\n })\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id,\n layout: layout,\n peerview_charts: peerviewCharts,\n financial_detail: peopleFinancialDetailRows,\n kpi: peopleKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...peopleFinancialDetailRows, ...peopleKpiRows],\n noChangesMade: true\n }\n })\n }\n }\n\n if (report === 'customers' && currentViewDeleted) {\n let finalLayout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n if (defaultView['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', defaultView['selected_items']['peerview_charts'], []);\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n finalLayout = [...defaultView['dashboard_layout']]\n } else {\n peerviewCharts = customerCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['customers_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n finalLayout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let kpiRows = customersKPIsFormat(filters['display_columns_by'], filters['report_period']);\n\n let finalSelectedItems = []\n if (defaultView['selected_items'] && !defaultView['selected_items']['all_selected_items']) {\n let currentSelectedItems = defaultView['selected_items']\n let { layout, selectedItems } = mergeItems('customers', currentSelectedItems, dashBoardRes['current_view']['dashboard_layout'])\n finalLayout = layout\n finalSelectedItems = selectedItems\n } else {\n finalSelectedItems = defaultView['selected_items']['all_selected_items']\n finalLayout = dashBoardRes['current_view']['dashboard_layout']\n }\n let finalFinancialDetailRows = updateCustomersRows(finalSelectedItems, financialDetailRows)\n let finalKpiRows = updateCustomersRows(finalSelectedItems, kpiRows)\n finalLayout = addMetricRow(finalLayout)\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: defaultView.id || 0,\n layout: finalLayout,\n peerview_charts: peerviewCharts,\n financial_detail: finalFinancialDetailRows,\n kpi: finalKpiRows,\n allSelectedMetrics: finalSelectedItems,\n allSheetMetrics: [...peerviewCharts, ...finalFinancialDetailRows, ...finalKpiRows],\n noChangesMade: true\n }\n })\n\n defaultView.selected_items = finalSelectedItems\n defaultView.dashboard_layout = finalLayout\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: defaultView\n }\n })\n }\n\n\n toast.success('View was deleted!', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n } catch (error) {\n console.log(error);\n toast.error('Sorry something went wrong. Try again later.', {\n position: 'top-right',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n const handleDashboardViewModal = (action, info = null) => {\n setDashboardViewModalState(prevState => {\n if (action === 'close') {\n return { ...prevState, isOpen: false, action: 'close' }\n } else if (action === 'edit_view') {\n let currentView = prevState.current_view\n let noViewEdit = currentView.permission_details !== 'view_only' || prevState.user_views.find(v => v.id === currentView.id)\n let currentInfo = !info ? currentView : info\n if (!noViewEdit) {\n toast.error(`Sorry You Are NOT Allowed to Edit this Dashboard View. You need to be the owner of this dashboard view in order to edit.`, {\n position: 'top-right',\n autoClose: 10000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n return prevState\n } else {\n return { ...prevState, isOpen: true, action: action, edit_view: currentInfo }\n }\n } else {\n return { ...prevState, isOpen: true, action: action, edit_view: {} }\n }\n })\n }\n\n const handleSurveyModal = (closeOpenSurvey) => {\n setSurveyModalOpen(closeOpenSurvey);\n };\n\n const handleCustomLayoutChange = (customKey, dashBoardType, newLayout, parentLayout = null) => {\n\n if (dashBoardType === 'parentMyDashBoard') {\n setCustomLayouts((prevState) => {\n return prevState.map((l) => {\n if (l.key === customKey) {\n let modifiedLayout = l['dashboard_layout'].map((ol) => {\n let findNewItem = newLayout.find(item => item.i === ol.i)\n if (findNewItem) {\n return { ...ol, ...findNewItem }\n } else {\n return ol;\n }\n })\n l['dashboard_layout'] = modifiedLayout\n l['noChangesMade'] = false\n }\n return l\n })\n })\n }\n\n if (dashBoardType === 'childMyDashBoard') {\n setCustomLayouts((prevState) => {\n return prevState.map((l) => {\n if (l.key === customKey) {\n let modifiedLayout = _.cloneDeep(l['dashboard_layout'])\n let findParentLayout = modifiedLayout.find(ol => ol.i === parentLayout.key)\n let findParentLayoutIndex = modifiedLayout.findIndex(ol => ol.i === parentLayout.key)\n if (findParentLayout) {\n findParentLayout.layout = findParentLayout.layout.map(pl => {\n let findNewItem = newLayout.find(item => item.i === pl.i)\n if (findNewItem) {\n return { ...pl, ...findNewItem }\n } else {\n return pl;\n }\n })\n\n modifiedLayout[findParentLayoutIndex] = findParentLayout\n }\n l['dashboard_layout'] = modifiedLayout\n l['noChangesMade'] = false\n }\n return l\n })\n })\n }\n }\n\n const handleOnLayoutChange = (dashBoardType, newLayout, parentLayout = null) => {\n let currentView = dashboardViewModalState.current_view\n let noChangesVal = currentView.permission_details === 'view_only' && !dashboardViewModalState.user_views.find(v => v.id === currentView.id)\n\n if (dashBoardType === 'normalDashboard') {\n setDashboard((prevState) => {\n let oldLayout = prevState.layout;\n let modifiedLayout = oldLayout.map((ol) => {\n let findNewItem = newLayout.find(item => item.i === ol.i)\n if (findNewItem) {\n return { ...ol, ...findNewItem }\n } else {\n return ol;\n }\n })\n\n return { ...prevState, layout: modifiedLayout, noChangesMade: noChangesVal }\n })\n }\n\n if (dashBoardType === 'parentMyDashBoard') {\n setReportMetrics((prevState) => {\n let oldLayout = prevState.layout;\n let modifiedLayout = oldLayout.map((ol) => {\n let findNewItem = newLayout.find(item => item.i === ol.i)\n if (findNewItem) {\n return { ...ol, ...findNewItem }\n } else {\n return ol;\n }\n })\n return { ...prevState, layout: modifiedLayout, noChangesMade: noChangesVal }\n })\n }\n\n if (dashBoardType === 'childMyDashBoard') {\n setReportMetrics((prevState) => {\n let modifiedLayout = _.cloneDeep(prevState.layout);\n let findParentLayout = modifiedLayout.find(ol => ol.i === parentLayout.key)\n let findParentLayoutIndex = modifiedLayout.findIndex(ol => ol.i === parentLayout.key)\n if (findParentLayout) {\n findParentLayout.layout = findParentLayout.layout.map(pl => {\n let findNewItem = newLayout.find(item => item.i === pl.i)\n if (findNewItem) {\n return { ...pl, ...findNewItem }\n } else {\n return pl;\n }\n })\n\n modifiedLayout[findParentLayoutIndex] = findParentLayout\n }\n return { ...prevState, layout: modifiedLayout, noChangesMade: noChangesVal }\n })\n }\n }\n\n const handleToggleDraggable = (key, dashBoardType = '', parentInfo = null) => {\n let currentView = dashboardViewModalState.current_view\n let noChangesVal = currentView.permission_details === 'view_only' && !dashboardViewModalState.user_views.find(v => v.id === currentView.id)\n if (dashBoardType === 'moneyDashboard') {\n setReportMetrics((prevState) => {\n let newLayout = _.cloneDeep(prevState.layout);\n\n if (parentInfo) {\n let parentIndex = newLayout.findIndex((l) => l.i === parentInfo.key);\n if (parentIndex > -1) {\n let childIndex = parentInfo.layout.findIndex((child) => child.key === key)\n if (childIndex > -1) {\n newLayout[parentIndex].isDraggable = !newLayout[parentIndex].isDraggable\n newLayout[parentIndex]['layout'][childIndex].isDraggable = newLayout[parentIndex].isDraggable\n }\n }\n } else {\n let itemIndex = newLayout.findIndex((l) => l.i === key);\n if (itemIndex > -1) {\n newLayout[itemIndex].isDraggable = !newLayout[itemIndex].isDraggable\n }\n }\n return { ...prevState, layout: newLayout, noChangesMade: noChangesVal }\n })\n } else {\n setDashboard((prevState) => {\n let newLayout = _.cloneDeep(prevState.layout);\n let itemIndex = newLayout.findIndex((l) => l.i === key);\n if (itemIndex > -1) {\n newLayout[itemIndex].isDraggable = !newLayout[itemIndex].isDraggable\n }\n return { ...prevState, layout: newLayout, noChangesMade: noChangesVal }\n })\n }\n }\n\n const handleEditMetrics = (e = false, selectionEditForm = false) => {\n if (e) { e.preventDefault() }\n\n setReportMetrics(prevState => {\n if (selectionEditForm) {\n updateDashBoardView()\n return {\n ...prevState,\n noChangesMade: true,\n }\n } else {\n if (prevState.editMetrics) {\n updateDashBoardView()\n }\n return {\n ...prevState,\n editMetrics: !prevState.editMetrics,\n noChangesMade: true,\n }\n }\n })\n }\n\n const handleDefaultDashboardViewTab = (defaultDashboardView, addToTabs = false) => {\n // Create the Preference and Update all the tabs and reports on tabs\n createPreferenceTab(defaultDashboardView)\n }\n\n const createPreferenceTab = async (defaultDashboardView) => {\n try {\n const res = await fetch(`/api/v1/preferences/new_tab_and_layout`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n default_dashboard_view: defaultDashboardView\n }),\n })\n\n const resJson = await res.json();\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n setCustomLayouts(prevState => {\n if (!prevState.find(c => c.id === resJson.active_custom_layout.id)) {\n return [...prevState, resJson.active_custom_layout]\n } else {\n return prevState\n }\n })\n setActiveCustomLayout(resJson.active_custom_layout)\n setReportsOnTabs(resJson.all_tabs.filter(v => v.display_on_tab).sort((a, b) => a.tab_order - b.tab_order));\n setAllReportTabs(resJson.all_tabs);\n setActiveTab(resJson.active_view)\n }\n } catch (error) {\n console.log(error)\n alert('Sorry something went wrong. Changes were not saved properly.');\n }\n }\n\n const hideReportFromTabs = async (viewId) => {\n if (reportsOnTabs.length > 1) {\n let updates = [{ id: viewId, display_on_tab: false, active_view: false }]\n\n setReportsOnTabs(prevState => {\n let newTabs = prevState.filter(v => v.id !== viewId);\n\n if (activeTab.id === viewId && newTabs.length > 0) {\n newTabs[newTabs.length - 1].active_view = true\n updates.push({ id: newTabs[newTabs.length - 1].id, active_view: true });\n setActiveTab(newTabs[newTabs.length - 1]);\n }\n\n return newTabs;\n });\n\n if (activeTab.id == viewId) {\n // If view was an active tab, then needs to set a new tab.\n setAllReportTabs(prevState => {\n return prevState.map(v => {\n if (v.id === viewId) {\n v.active_view = false\n v.display_on_tab = false\n }\n return v\n })\n });\n } else {\n // If view is not active tab\n setAllReportTabs(prevState => {\n return prevState.map(v => {\n if (v.id === viewId) {\n v.display_on_tab = false\n }\n return v\n })\n });\n }\n\n try {\n const res = await fetch(`/api/v1/preferences/update_views`, {\n method: 'PATCH',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n updates: updates\n }),\n })\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n }\n } catch (error) {\n console.log(error)\n alert('Sorry something went wrong. Changes were not saved properly.');\n }\n }\n }\n\n const addReportToTabs = (newTab, addToTabs = false) => {\n if (newTab.update) {\n let updates = [{ id: newTab.id, display_on_tab: newTab.display_on_tab, active_view: newTab.active_view }]\n if (addToTabs) {\n updates[0].tab_order = reportsOnTabs.length + 1\n }\n\n let oldTabId = activeTab.id\n if (oldTabId !== newTab.id) {\n updates.push({ id: oldTabId, display_on_tab: true, active_view: false });\n }\n updateReportTabs(newTab, addToTabs, updates)\n }\n }\n\n const updateReportTabs = async (newTab, addToTabs, updates) => {\n try {\n const res = await fetch(`/api/v1/preferences/update_views`, {\n method: 'PATCH',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n updates: updates\n }),\n })\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n if (addToTabs) {\n setReportsOnTabs(prevState => {\n let updatedViews = prevState.map((v, i) => {\n v.active_view = false\n v.tab_order = i + 1\n return v\n })\n return [...updatedViews, newTab]\n });\n } else {\n setReportsOnTabs(prevState => {\n return prevState.map(v => {\n if (v.id == newTab.id) {\n return newTab\n } else {\n v.active_view = false\n return v\n }\n })\n });\n }\n\n setAllReportTabs(prevState => {\n const updatedTabs = prevState.map(v => {\n if (v.id === newTab.id) {\n return { ...newTab };\n } else {\n return { ...v, active_view: false };\n }\n });\n return updatedTabs;\n });\n setActiveTab(newTab)\n }\n } catch (error) {\n console.log(error)\n alert('Sorry something went wrong. Changes were not saved properly.');\n }\n }\n\n const saveTabOrder = async (newTabs) => {\n let updates = []\n let newTabsOrder = newTabs.map((t, i) => {\n t.tab_order = i + 1\n updates.push({ id: t.id, tab_order: t.tab_order })\n return t\n })\n setReportsOnTabs(newTabsOrder);\n\n try {\n const res = await fetch(\"/api/v1/preferences/update_views\", {\n method: \"PATCH\",\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n updates: updates\n }),\n });\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n setReportsOnTabs(newTabsOrder)\n }\n } catch (error) {\n console.error(\"Error saving tab order:\", error);\n }\n }\n\n const handleSurveySubmit = async (e, surveyState) => {\n e.preventDefault();\n let answers = {}\n let numberYearAnswers = {}\n surveyData.sections.forEach((section, i) => {\n surveyState.surveyLayoutData[section]['sectionData'].forEach((data => {\n if (data.inputType === 'radio' || data.inputType === 'ranking') {\n data.questions.forEach(q => {\n answers[q.key] = q.answer\n })\n } else {\n answers[data.key] = data.answer\n numberYearAnswers[data.key] = data.answer\n }\n }))\n })\n\n try {\n const res = await fetch(`/api/v1/surveys/${state.companyReportSurvey.survey.id}`, {\n method: 'PATCH',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n answers: answers,\n report: state.report,\n year: state.companyReportSurvey.survey.year,\n filters: state.filters\n }),\n })\n\n const surveyRes = await res.json();\n\n if (!res.ok) {\n throw new Error('Network response was not ok.');\n } else {\n setState(prevState => {\n return {\n ...prevState,\n companyReportSurvey: {\n survey: surveyRes.companyReportSurvey,\n number_year_inputs: numberYearAnswers\n },\n surveyResults: surveyRes.surveyResults,\n surveyTaken: surveyRes.surveyTaken,\n }\n });\n setSurveyModalOpen(false)\n ahoy.track('Survey Submitted', { survey: `${props.client_name} (NAICS: ${props.code}): ${state.pageTitle} ${state.companyReportSurvey.survey.year}` });\n }\n } catch (error) {\n console.log(error);\n alert(\n 'Sorry something went wrong. Changes were not saved properly.'\n );\n }\n }\n\n const getMonthlyForecastScenario = async (data) => {\n setState((prevState) => {\n return {\n ...prevState,\n loading: true\n }\n })\n let scenarioData = data.split(':')\n if (data !== 'YOY:Default' && data !== 'Peers:Default') {\n const json = await fetch(`/api/v1/monthly_calculations/?monthly_forecast_scenario=${scenarioData[0]}&year=${scenarioData[1]}`, {\n method: 'GET',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n const res = await json.json()\n setState(prevState => {\n return {\n ...prevState,\n baseCalc: res.baseCalc,\n monthlyForecastCalcs: res.monthlyForecastCalcs,\n filters: { ...prevState.filters, compare_with: data },\n loading: false\n }\n })\n }\n setState((prevState) => {\n return {\n ...prevState,\n filters: { ...prevState.filters, compare_with: data },\n loading: false\n }\n })\n }\n\n const changeChat = (e, chat) => {\n if (chat.id) {\n let newChat = allChats.find((c) => c.id === chat.id)\n newChat.messages = newChat.messages.map(m => {\n m.typewriter = false\n return m\n })\n setChat(newChat)\n } else {\n setChat({})\n }\n }\n\n const handleOpenAiCall = (e) => {\n fetchOpenAi(e)\n subscribeOpenai()\n }\n\n const fetchOpenAi = async (e) => {\n setChatLoading(true)\n e.preventDefault()\n setChat({\n id: null,\n title: \"Analyze my Data!\",\n messages: [\n {\n role: 'user',\n message_type: 'question',\n display_content: \"Analyze my Data!\"\n }\n ]\n })\n\n try {\n const response = await fetch('/api/v1/openai', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n filters: state.filters\n }),\n })\n const res = await response.json()\n console.log(res, 'response')\n setJobs(prevState => {\n return {\n subscribe: true,\n id: res.id\n }\n })\n\n subscribeOpenai(res.id)\n } catch (error) {\n console.log(error, 'error')\n }\n }\n\n const subscribeOpenai = async (chat_id) => {\n // setJobs(prevState => {\n // return {\n // ...prevState,\n // subscribe: true\n // }\n // })\n console.log(chat_id, 'chat_id')\n App[`openai_${chat_id}`] = App.cable.subscriptions.create(\n {\n channel: 'JobsChannel',\n job_type: 'OpenaiWorker',\n },\n {\n received: (res) => {\n console.log(res, 'res1')\n if (res.error) {\n setJobs(prevState => {\n return {\n ...prevState,\n subscribe: false\n }\n })\n setChatLoading(false)\n setChatLoader(\n {\n progress: 0,\n message: 'Initializing analysis process...',\n error: res.error\n }\n )\n console.log(res, 'res.error');\n } else if (res.progress) {\n setChatLoader(\n {\n progress: res.progress,\n message: res.message,\n error: null\n }\n )\n } else {\n //&& res.data.chat_id == chat_id\n if (res.finish) {\n setChat(res.data)\n setChatLoading(false)\n setChatLoader(\n {\n progress: 0,\n message: 'Initializing analysis process...',\n error: null\n }\n )\n console.log(res, 'res2')\n App[`openai_${chat_id}`].unsubscribe();\n setJobs(prevState => {\n return {\n ...prevState,\n subscribe: false\n }\n })\n setAllChats((prevChats) => {\n let newData = res.data\n const updatedChats = [newData, ...prevChats];\n // Remove duplicates based on `id`\n const uniqueChats = updatedChats.filter((chat, index, self) => index === self.findIndex((c) => c.id === chat.id));\n return uniqueChats;\n });\n // if (res.finish) {\n // setChat(res.data)\n // App[`openai_${jobs.id}`].unsubscribe();\n // setJobs(prevState => {\n // return {\n // ...prevState,\n // subscribe: false\n // }\n // })\n // }\n }\n }\n }\n }\n )\n }\n\n const updatePeopleCustomersChecks = (updatingRows, referenceRows) => {\n updatingRows.forEach(p => {\n let moneyItem = referenceRows.find(item => item.key === p.key)\n if (moneyItem && moneyItem.checked) {\n p.checked = true\n p.layout = p.layout.map(l => {\n let lItem = moneyItem.layout.find(m => m.key === l.key)\n if (lItem && lItem.checked) {\n l.checked = true\n }\n return l\n })\n }\n })\n\n return updatingRows\n }\n\n const mergeMonthlyData = (existing, incoming) => {\n const merged = { ...existing };\n \n Object.keys(incoming).forEach((key) => {\n merged[key] = merged[key] || {};\n \n Object.keys(incoming[key]).forEach((year) => {\n merged[key][year] = {\n ...(merged[key][year] || {}),\n ...incoming[key][year]\n };\n });\n });\n \n return merged;\n }; \n\n // Fetch Dashboard layouts based on report type, years vs monthly/ytd, displaying which charts on dashboard\n const fetchCalcs = async (args, { filters, report, ...prevState }) => {\n // save any checked metrics and dashboard changes\n if (reportMetrics.editMetrics) { handleEditMetrics() }\n let previousFilterOptions, previousNaicsCode, previousRegion, previousRevenueBand, previousYear;\n let survey = null;\n let surveyCharts = [];\n if (Object.keys(prevState.filterOptions).length > 0) {\n previousFilterOptions = prevState.filterOptions;\n previousNaicsCode = previousFilterOptions.code;\n previousRegion = previousFilterOptions.region;\n previousRevenueBand = previousFilterOptions.revenue_band;\n previousYear = previousFilterOptions.year;\n }\n let knownYears = trendData ? Object.keys(trendData['total_revenue']) : []\n\n try {\n const [calculations, dashBoard] = await Promise.all([\n fetch('/api/v1/calculations', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n company_id: props.id,\n known_years: knownYears,\n filters,\n report,\n ...args // over write current state with new args\n }),\n }),\n fetch(`/get_dashboard_view/?report_type=${report}`, {\n headers: {\n 'X-CSRF-Token': window.token,\n }\n })\n ]);\n const calcsRes = await calculations.json();\n const dashBoardRes = await dashBoard.json();\n const { reportSpecific, filterOptions, ...newState } = calcsRes\n let newTrendData = mergeMonthlyData(trendData, newState.trendData);\n const finalFilterOptions = {\n compare_with: filterOptions.compare_with,\n display_columns_by: filterOptions.display_columns_by,\n };\n let currentDash = dashBoardRes['current_view'];\n if (filterOptions && filterOptions['number_of_pros']) { finalFilterOptions['number_of_pros'] = filterOptions['number_of_pros'] }\n let finalNaicsCode, finalRegion, finalRevenueBand, finalYear;\n let naicsCode = filterOptions.code;\n let region = filterOptions.region;\n let revenueBand = filterOptions.revenue_band;\n let year = filterOptions.year;\n\n if (Object.keys(prevState.filterOptions).length > 0) {\n let mergedNaicsCodes = [...previousNaicsCode, ...naicsCode]\n let previousCodeNumbers = previousNaicsCode.map((n) => n[0])\n let newCodeNumbers = naicsCode.map((n) => n[0])\n let allNaicsCodeNumbers = previousCodeNumbers.concat(newCodeNumbers.filter((n) => !previousCodeNumbers.includes(n)))\n let sortedNaicsCodes = allNaicsCodeNumbers.sort()\n finalNaicsCode = sortedNaicsCodes.map((n) => {\n let naicsCode = mergedNaicsCodes.find((mc) => mc[0] === n)\n return naicsCode\n })\n finalRegion = previousRegion.concat(region.filter((r) => !previousRegion.includes(r)))\n finalRevenueBand = previousRevenueBand.concat(revenueBand.filter((rb) => !previousRevenueBand.includes(rb)))\n finalYear = previousYear.concat(year.filter((y) => !previousYear.includes(y)))\n finalFilterOptions.code = finalNaicsCode\n finalFilterOptions.region = finalRegion;\n finalFilterOptions.revenue_band = finalRevenueBand;\n finalFilterOptions.year = finalYear;\n } else {\n finalFilterOptions.code = naicsCode;\n finalFilterOptions.region = region;\n finalFilterOptions.revenue_band = revenueBand;\n finalFilterOptions.year = year;\n }\n\n if (report === 'money') {\n let allSelectedKeys = []\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n let peopleLayout = [];\n let peoplePeerviewCharts = [];\n let peoplePeerviewChartsSelected = [];\n let peopleFDRows = []\n let customersLayout = [];\n let customersPeerviewCharts = [];\n let customersPeerviewChartsSelected = [];\n let customersFDRows = []\n let customersKpiRows = customersKPIsFormat('Years');\n\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('money', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n\n // let peerviewChartKeys = currentDash['selected_items']['peerview_charts'].map(p => p.key)\n // let pnlKeys = currentDash['selected_items']['pnl'].map(p => p.key)\n // let balKeys = currentDash['selected_items']['balance_sheet'].map(b => b.key)\n // let cashKeys = currentDash['selected_items']['cash_flow'].map(c => c.key)\n // let kfisKeys = currentDash['selected_items']['kfis'].map(k => k.key)\n\n // let peoplePChartsKeys = currentDash['selected_items']['people_peerview_charts'] ? currentDash['selected_items']['people_peerview_charts'].map(p => p.key) : []\n // let peopleFDKeys = currentDash['selected_items']['people_financial_detail'] ? currentDash['selected_items']['people_financial_detail'].map(b => b.key) : []\n // let peopleKPI = currentDash['selected_items']['people_kpi'] ? currentDash['selected_items']['people_kpi'].map(c => c.key) : []\n // let customersPChartsKeys = currentDash['selected_items']['customers_peerview_charts'] ? currentDash['selected_items']['customers_peerview_charts'].map(k => k.key) : []\n // let customersFD = currentDash['selected_items']['customers_financial_detail'] ? currentDash['selected_items']['customers_financial_detail'].map(b => b.key) : []\n // let customersKPI = currentDash['selected_items']['customers_kpi'] ? currentDash['selected_items']['customers_kpi'].map(c => c.key) : []\n\n // allSelectedKeys = [...peerviewChartKeys, ...pnlKeys, ...balKeys, ...cashKeys, ...kfisKeys, ...peoplePChartsKeys, ...peopleFDKeys, ...peopleKPI, ...customersPChartsKeys, ...customersFD, ...customersKPI]\n // let currentDashLayout = currentDash['dashboard_layout'].filter(l => allSelectedKeys.includes(l.i))\n\n layout = currentDash['dashboard_layout']\n } else {\n peerviewCharts = moneyCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['people_peerview_charts'] && currentDash['selected_items']['people_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', currentDash['selected_items']['people_peerview_charts'], []);\n peoplePeerviewCharts = selectedItems;\n } else {\n peoplePeerviewCharts = peopleCharts['peerview_charts']\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['customers_peerview_charts'] && currentDash['selected_items']['customers_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['customers_peerview_charts'], []);\n customersPeerviewCharts = selectedItems;\n } else {\n customersPeerviewCharts = customerCharts['peerview_charts']\n }\n\n let { pnlOnePageRows, balOnePageRows, cashFlowRows, kfisRows } = moneyTreesBuilder(currentDash['selected_items'], newState.tree)\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], newState.tree)\n\n // People & Customers contain similar metrics found in Money P&L\n if (!currentDash['selected_items']['people_financial_detail']) {\n peopleFDRows = updatePeopleCustomersChecks(peopleFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n peopleFDRows = peopleFinancialDetailRows\n }\n\n if (!currentDash['selected_items']['customers_financial_detail']) {\n customersFDRows = updatePeopleCustomersChecks(customersFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n customersFDRows = updateCustomersRows(currentDash['selected_items']['customers_financial_detail'], customersFinancialDetailRows)\n }\n\n if (!currentDash['selected_items']['customers_kpi']) {\n customersKpiRows = updatePeopleCustomersChecks(customersKpiRows, currentDash['selected_items']['pnl'])\n } else {\n customersKpiRows = updateCustomersRows(currentDash['selected_items']['customers_kpi'], customersKpiRows)\n }\n\n let selectedItems = currentDash['selected_items']['money_all_selected_items'].length > 0 ? currentDash['selected_items']['money_all_selected_items'] : peerviewChartsSelected;\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id || 0,\n layout: layout,\n peerview_charts: peerviewCharts,\n pnl: pnlOnePageRows,\n balance_sheet: balOnePageRows,\n cash_flow: cashFlowRows,\n kfis: kfisRows,\n people_peerview_charts: peoplePeerviewCharts,\n people_financial_detail: peopleFDRows,\n people_kpi: peopleKpiRows,\n customers_peerview_charts: customersPeerviewCharts,\n customers_financial_detail: customersFDRows,\n customers_kpi: customersKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...pnlOnePageRows, ...balOnePageRows, ...cashFlowRows, ...kfisRows, ...peoplePeerviewCharts, ...peopleFDRows, ...peopleKpiRows, ...customersPeerviewCharts, ...customersFDRows, ...customersKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n\n setMoneyNotes(prevState => {\n return {\n userNotes: dashBoardRes['money_notes'] ? dashBoardRes['money_notes'] : prevState.userNotes\n }\n })\n\n } else if (report === 'people') {\n setEditDashboard([{ sectionName: 'Peerview Metrics', sheet: 'peerview_charts', showDropdown: false }, { sectionName: 'Financial Detail', sheet: 'financial_detail', showDropdown: false }, { sectionName: `KPI`, sheet: 'kpi', showDropdown: false }])\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts'] && currentDash['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n layout = [...currentDash['dashboard_layout']]\n } else {\n peerviewCharts = peopleCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['people_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], newState.tree)\n let selectedItems = currentDash['selected_items']['all_selected_items'] && currentDash['selected_items']['all_selected_items'].length > 0 ? currentDash['selected_items']['all_selected_items'] : peerviewChartsSelected;\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id || 0,\n layout: layout,\n peerview_charts: peerviewCharts,\n financial_detail: peopleFinancialDetailRows,\n kpi: peopleKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...peopleFinancialDetailRows, ...peopleKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n } else if (report === 'customers') {\n setEditDashboard([{ sectionName: 'Peerview Metrics', sheet: 'peerview_charts', showDropdown: false }, { sectionName: 'Financial Detail', sheet: 'financial_detail', showDropdown: false }, { sectionName: `KPI`, sheet: 'kpi', showDropdown: false }])\n let finalLayout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts'] && currentDash['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n finalLayout = [...currentDash['dashboard_layout']]\n } else {\n peerviewCharts = customerCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['customers_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n finalLayout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let kpiRows = customersKPIsFormat('Years');\n let finalSelectedItems = []\n if (currentDash['selected_items'] && !currentDash['selected_items']['all_selected_items']) {\n let currentSelectedItems = currentDash['selected_items']\n let { layout, selectedItems } = mergeItems('customers', currentSelectedItems, dashBoardRes['current_view']['dashboard_layout'])\n finalLayout = layout\n finalSelectedItems = selectedItems\n } else {\n finalSelectedItems = currentDash['selected_items']['all_selected_items']\n finalLayout = dashBoardRes['current_view']['dashboard_layout']\n }\n let finalFinancialDetailRows = updateCustomersRows(finalSelectedItems, customersFinancialDetailRows)\n let finalKpiRows = updateCustomersRows(finalSelectedItems, kpiRows)\n finalLayout = addMetricRow(finalLayout)\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id || 0,\n layout: finalLayout,\n peerview_charts: peerviewCharts,\n financial_detail: finalFinancialDetailRows,\n kpi: finalKpiRows,\n allSelectedMetrics: finalSelectedItems,\n allSheetMetrics: [...peerviewCharts, ...finalFinancialDetailRows, ...finalKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = finalSelectedItems\n currentDash.dashboard_layout = finalLayout\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n } else if (report === 'audit') {\n let { pnlOnePageRows, balOnePageRows, kfisRows } = auditTreesBuilder(newState.tree)\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n pnl: pnlOnePageRows,\n balance_sheet: balOnePageRows,\n kfis: kfisRows,\n allSelectedMetrics: [],\n allSheetMetrics: [...pnlOnePageRows, ...balOnePageRows],\n noChangesMade: true\n }\n })\n } else {\n setDashboard(() => {\n return {\n id: currentDash.id,\n selectedItems: currentDash.selected_items,\n layout: currentDash.dashboard_layout,\n noChangesMade: true\n }\n })\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n }\n\n setState(prevState => {\n return {\n ...prevState,\n ...newState,\n trendData: newTrendData,\n filterOptions: finalFilterOptions,\n reportSpecific,\n loading: false,\n pnlTree: pnlTree,\n balTree: balTree\n }\n });\n\n if (calcsRes.companyReportSurvey) {\n let chartData = []\n let sectionDatas = Object.values(calcsRes.companyReportSurvey['survey_format_with_answers'])\n sectionDatas.forEach(data => {\n if (data.hasOwnProperty('sectionData')) chartData = [...chartData, ...data['sectionData']]\n })\n surveyCharts = chartData\n\n setSurveyData(() => {\n return {\n sections: calcsRes.companyReportSurvey['survey_format_with_answers']['sections'],\n surveyLayoutData: calcsRes.companyReportSurvey['survey_format_with_answers'],\n surveyCharts: surveyCharts,\n }\n })\n }\n\n } catch (error) {\n console.log(error, 'error')\n setState(prevState => {\n return {\n ...prevState,\n loading: false\n }\n });\n toast.error('Sorry something went wrong. Please try again later.', {\n position: 'top-right',\n autoClose: 5000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n const fetchMonthlyCalcs = async (args, { filters, report, ...prevState }) => {\n // save any checked metrics and dashboard changes\n if (reportMetrics.editMetrics) { handleEditMetrics() }\n let previousFilterOptions = []\n let previousNaicsCode = []\n let previousRegion = []\n let previousRevenueBand = []\n let previousYear = [];\n\n if (prevState.filterOptions && Object.keys(prevState.filterOptions).length > 0) {\n previousFilterOptions = prevState.filterOptions;\n previousNaicsCode = previousFilterOptions.code;\n previousRegion = previousFilterOptions.region;\n previousRevenueBand = previousFilterOptions.revenue_band;\n previousYear = previousFilterOptions.year;\n }\n\n let knownYears = trendData ? Object.keys(trendData['total_revenue']) : []\n\n try {\n const [calculations, dashBoard] = await Promise.all([\n fetch('/api/v1/monthly_calculations', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': window.token,\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n company_id: props.id,\n known_years: knownYears,\n filters,\n report,\n ...args // over write current state with new args\n }),\n }),\n fetch(`/get_dashboard_view/?report_type=${report}`, {\n headers: {\n 'X-CSRF-Token': window.token,\n }\n })\n ]);\n\n const calcsRes = await calculations.json();\n const dashBoardRes = await dashBoard.json();\n const { reportSpecific, filterOptions, ...newState } = calcsRes;\n let newTrendData = mergeMonthlyData(trendData, newState.trendData);\n const finalFilterOptions = {\n compare_with: filterOptions.compare_with,\n display_columns_by: filterOptions.display_columns_by,\n };\n let currentDash = dashBoardRes['current_view'];\n if (filterOptions['number_of_pros']) { finalFilterOptions['number_of_pros'] = filterOptions['number_of_pros'] }\n let finalNaicsCode, finalRegion, finalRevenueBand, finalYear;\n let naicsCode = filterOptions.code;\n let region = filterOptions.region;\n let revenueBand = filterOptions.revenue_band;\n let year = filterOptions.year;\n\n\n if (prevState.filterOptions) {\n let mergedNaicsCodes = [...previousNaicsCode, ...naicsCode]\n let previousCodeNumbers = previousNaicsCode.map((n) => n[0])\n let newCodeNumbers = naicsCode.map((n) => n[0])\n let allNaicsCodeNumbers = previousCodeNumbers.concat(newCodeNumbers.filter((n) => !previousCodeNumbers.includes(n)))\n let sortedNaicsCodes = allNaicsCodeNumbers.sort()\n finalNaicsCode = sortedNaicsCodes.map((n) => {\n let naicsCode = mergedNaicsCodes.find((mc) => mc[0] === n)\n return naicsCode\n })\n finalRegion = previousRegion.concat(region.filter((r) => !previousRegion.includes(r)))\n finalRevenueBand = previousRevenueBand.concat(revenueBand.filter((rb) => !previousRevenueBand.includes(rb)))\n finalYear = previousYear.concat(year.filter((y) => !previousYear.includes(y)))\n finalFilterOptions.code = finalNaicsCode\n finalFilterOptions.region = finalRegion;\n finalFilterOptions.revenue_band = finalRevenueBand;\n finalFilterOptions.year = finalYear;\n } else {\n finalFilterOptions.code = naicsCode;\n finalFilterOptions.region = region;\n finalFilterOptions.revenue_band = revenueBand;\n finalFilterOptions.year = year;\n }\n\n if (report === 'money') {\n let allSelectedKeys = []\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n let peopleLayout = [];\n let peoplePeerviewCharts = [];\n let peoplePeerviewChartsSelected = [];\n let peopleFDRows = []\n let customersLayout = [];\n let customersPeerviewCharts = [];\n let customersPeerviewChartsSelected = [];\n let customersFDRows = []\n let customersKpiRows = customersKPIsFormat(args.filters['display_columns_by'], args.filters['report_period']);\n\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('money', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n layout = currentDash['dashboard_layout']\n } else {\n peerviewCharts = moneyCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['people_peerview_charts'] && currentDash['selected_items']['people_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', currentDash['selected_items']['people_peerview_charts'], []);\n peoplePeerviewCharts = selectedItems;\n } else {\n peoplePeerviewCharts = peopleCharts['peerview_charts']\n }\n\n if (currentDash['selected_items'] && currentDash['selected_items']['customers_peerview_charts'] && currentDash['selected_items']['customers_peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['customers_peerview_charts'], []);\n customersPeerviewCharts = selectedItems;\n } else {\n customersPeerviewCharts = customerCharts['peerview_charts']\n }\n\n let displayByView = args.filters['report_period'] === 'Months' ? 'monthsView' : 'ytdView';\n let { pnlOnePageRows, balOnePageRows, cashFlowRows, kfisRows } = moneyTreesBuilder(currentDash['selected_items'], newState.tree, displayByView)\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], newState.tree)\n\n // People & Customers contain similar metrics found in Money P&L\n if (!currentDash['selected_items']['people_financial_detail']) {\n peopleFDRows = updatePeopleCustomersChecks(peopleFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n peopleFDRows = peopleFinancialDetailRows\n }\n\n if (!currentDash['selected_items']['customers_financial_detail']) {\n customersFDRows = updatePeopleCustomersChecks(customersFinancialDetailRows, currentDash['selected_items']['pnl'])\n } else {\n customersFDRows = updateCustomersRows(currentDash['selected_items']['customers_financial_detail'], customersFinancialDetailRows)\n }\n\n if (!currentDash['selected_items']['customers_kpi']) {\n customersKpiRows = updatePeopleCustomersChecks(customersKpiRows, currentDash['selected_items']['pnl'])\n } else {\n customersKpiRows = updateCustomersRows(currentDash['selected_items']['customers_kpi'], customersKpiRows)\n }\n\n let selectedItems = currentDash['selected_items']['money_all_selected_items'].length > 0 ? currentDash['selected_items']['money_all_selected_items'] : peerviewChartsSelected;\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id,\n layout: layout,\n peerview_charts: peerviewCharts,\n pnl: pnlOnePageRows,\n balance_sheet: balOnePageRows,\n cash_flow: cashFlowRows,\n kfis: kfisRows,\n people_peerview_charts: peoplePeerviewCharts,\n people_financial_detail: peopleFDRows,\n people_kpi: peopleKpiRows,\n customers_peerview_charts: customersPeerviewCharts,\n customers_financial_detail: customersFDRows,\n customers_kpi: customersKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...pnlOnePageRows, ...balOnePageRows, ...cashFlowRows, ...kfisRows, ...peoplePeerviewCharts, ...peopleFDRows, ...peopleKpiRows, ...customersPeerviewCharts, ...customersFDRows, ...customersKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n\n setMoneyNotes(prevState => {\n return {\n userNotes: dashBoardRes['money_notes'] ? dashBoardRes['money_notes'] : prevState.userNotes\n }\n })\n } else if (report === 'people') {\n setEditDashboard([{ sectionName: 'Peerview Metrics', sheet: 'peerview_charts', showDropdown: false }, { sectionName: 'Financial Detail', sheet: 'financial_detail', showDropdown: false }, { sectionName: `KPI`, sheet: 'kpi', showDropdown: false }])\n let layout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts'] && currentDash['selected_items']['peerview_charts'].length > 0) {\n let { selectedItems } = mergeItems('people', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n layout = [...currentDash['dashboard_layout']]\n } else {\n peerviewCharts = peopleCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['people_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n layout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let { peopleFinancialDetailRows, peopleKpiRows } = peopleTreesBuilder(currentDash['selected_items'], newState.tree)\n let selectedItems = currentDash['selected_items']['all_selected_items'] && currentDash['selected_items']['all_selected_items'].length > 0 ? currentDash['selected_items']['all_selected_items'] : peerviewChartsSelected;\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id || 0,\n layout: layout,\n peerview_charts: peerviewCharts,\n financial_detail: peopleFinancialDetailRows,\n kpi: peopleKpiRows,\n allSelectedMetrics: selectedItems,\n allSheetMetrics: [...peerviewCharts, ...peopleFinancialDetailRows, ...peopleKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = selectedItems\n currentDash.dashboard_layout = layout\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n } else if (report === 'customers') {\n setEditDashboard([{ sectionName: 'Peerview Metrics', sheet: 'peerview_charts', showDropdown: false }, { sectionName: 'Financial Detail', sheet: 'financial_detail', showDropdown: false }, { sectionName: `KPI`, sheet: 'kpi', showDropdown: false }])\n let finalLayout = [];\n let peerviewCharts = null;\n let peerviewChartsSelected = [];\n if (currentDash['selected_items'] && currentDash['selected_items']['peerview_charts']) {\n let { selectedItems } = mergeItems('customers', currentDash['selected_items']['peerview_charts'], []);\n peerviewCharts = selectedItems;\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n peerviewChartsSelected.push(chart)\n }\n })\n finalLayout = [...currentDash['dashboard_layout']]\n } else {\n peerviewCharts = customerCharts['peerview_charts']\n peerviewCharts.forEach((chart) => {\n if (chart.checked) {\n let defaultLayout = defaultLayouts['money_peerview_charts'].find((l) => l.i === chart.key)\n if (defaultLayout) {\n finalLayout.push(defaultLayout)\n peerviewChartsSelected.push(chart)\n }\n }\n })\n }\n\n let kpiRows = customersKPIsFormat(args.filters['display_columns_by'], args.filters['report_period']);\n\n let finalSelectedItems = []\n if (currentDash['selected_items'] && !currentDash['selected_items']['all_selected_items']) {\n let currentSelectedItems = currentDash['selected_items']\n let { layout, selectedItems } = mergeItems('customers', currentSelectedItems, dashBoardRes['current_view']['dashboard_layout'])\n finalLayout = layout\n finalSelectedItems = selectedItems\n } else {\n finalSelectedItems = currentDash['selected_items']['all_selected_items']\n finalLayout = dashBoardRes['current_view']['dashboard_layout']\n }\n let finalFinancialDetailRows = updateCustomersRows(finalSelectedItems, financialDetailRows)\n let finalKpiRows = updateCustomersRows(finalSelectedItems, kpiRows)\n finalLayout = addMetricRow(finalLayout)\n\n setReportMetrics(prevState => {\n return {\n ...prevState,\n id: currentDash.id || 0,\n layout: finalLayout,\n peerview_charts: peerviewCharts,\n financial_detail: finalFinancialDetailRows,\n kpi: finalKpiRows,\n allSelectedMetrics: finalSelectedItems,\n allSheetMetrics: [...peerviewCharts, ...finalFinancialDetailRows, ...finalKpiRows],\n noChangesMade: true\n }\n })\n\n currentDash.selected_items = finalSelectedItems\n currentDash.dashboard_layout = finalLayout\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n } else {\n setDashboard(() => {\n return {\n id: currentDash.id,\n selectedItems: currentDash.selected_items,\n layout: currentDash.dashboard_layout,\n noChangesMade: true\n }\n })\n\n setDashboardViewModalState((prevState) => {\n return {\n ...prevState,\n current_view: currentDash,\n user_views: dashBoardRes.user_views,\n firms_views: dashBoardRes.firms_views\n }\n })\n }\n\n setState(prevState => {\n return {\n ...prevState,\n ...newState,\n trendData: newTrendData,\n filterOptions: finalFilterOptions,\n reportSpecific,\n loading: false\n }\n })\n\n } catch (error) {\n console.log(error)\n setState(prevState => {\n return {\n ...prevState,\n loading: false\n }\n });\n toast.error('Sorry something went wrong. Please try again later.', {\n position: 'top-right',\n autoClose: 5000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n\n async function submitFilters(event, filters) {\n event.preventDefault();\n let allFilters = {\n filters: {\n code: filters.code,\n number_of_pros: filters.number_of_pros,\n region: filters.region,\n revenue_band: filters.revenue_band,\n year: filters.year,\n datatype: filters.datatype,\n display_columns_by: filters.display_columns_by,\n report_period: filters.report_period,\n compare_with: filters.compare_with\n }\n }\n updateState(allFilters);\n }\n\n async function updateState(args = {}) {\n setState(prevState => {\n if (args.filters) {\n if (args.filters['display_columns_by'] === 'Years' && args.filters['report_period'] === 'Year to Date') {\n fetchMonthlyCalcs(args, prevState);\n } else if (args.filters['display_columns_by'] === 'Years' && args.filters['report_period'] !== 'Year to Date') {\n fetchCalcs(args, prevState);\n } else if (args.filters['display_columns_by'] === 'Months') {\n fetchMonthlyCalcs(args, prevState)\n } else {\n fetchCalcs(args, prevState);\n }\n } else {\n fetchCalcs(args, prevState);\n }\n\n if (args.report) {\n return {\n ...prevState, report: args.report, loading: true\n }\n } else {\n return {\n ...prevState, loading: true\n }\n }\n });\n };\n\n // fetch calculations on load if not present in props\n useEffect(() => {\n if (state.fetch) {\n let allFilters = {}\n if (Object.keys(state.filters).length > 0) {\n allFilters.filters = state.filters\n }\n updateState(allFilters);\n if (props.most_recent_fdu && props.most_recent_fdu.state === 'mappered') {\n toast(`New accounts need to be mapped for this client! Please map your recent file, ${props.most_recent_fdu.document}, in the Map Files page. Then click the Generate Reports button to update your client's reports.`)\n }\n };\n }, []);\n\n const saveChartStyleEdits = () => {\n setEditChartModel(prevState => {\n return {\n ...prevState,\n isOpen: false\n }\n })\n updateDashBoardView()\n }\n\n const handleEditChartModal = (action, chartDetails = {}, highChartOptions = {}) => {\n if (action === 'close') {\n // CHECK CUSTOMERS\n if (state.report === 'money' || state.report === 'people' || state.report === 'customers') {\n setReportMetrics((prevState) => {\n let oldLayout = _.cloneDeep(prevState.layout)\n // Save old styles to parent\n let newLayout = oldLayout.map(parentItem => {\n if (parentItem.i === editChartModel.chartDetails.parentKey || parentItem.i === editChartModel.chartDetails.i) {\n parentItem['metricRow']['styles'] = editChartModel.oldStyles\n }\n return parentItem\n })\n\n return {\n ...prevState,\n layout: newLayout,\n noChangesMade: false\n }\n })\n } else {\n setDashboard((prevState) => {\n let oldLayout = _.cloneDeep(prevState.layout)\n let newLayout = oldLayout.map(parentItem => {\n if (parentItem.i === editChartModel.chartDetails.i) {\n parentItem['styles'] = editChartModel.oldStyles\n }\n return parentItem\n })\n\n return {\n ...prevState,\n layout: newLayout,\n noChangesMade: false\n }\n })\n }\n\n setEditChartModel(prevState => {\n return {\n ...prevState,\n isOpen: false\n }\n })\n } else {\n setEditChartModel(prevState => {\n return {\n ...prevState,\n isOpen: true,\n chartDetails: chartDetails,\n highChartOptions: highChartOptions,\n oldStyles: chartDetails.styles,\n newStyles: chartDetails.styles\n }\n })\n }\n }\n\n const handleEditChartStyle = (seriesOneStyle, seriesTwoStyle) => {\n let newChartStyles;\n setEditChartModel(prevState => {\n newChartStyles = _.cloneDeep(editChartModel.newStyles);\n let newHighChartOptions = _.cloneDeep(editChartModel.highChartOptions)\n newChartStyles['seriesOne']['type'] = seriesOneStyle\n newChartStyles['seriesTwo']['type'] = seriesTwoStyle\n newHighChartOptions['series'][0]['type'] = seriesOneStyle\n if (newHighChartOptions['series'][1]) {\n newHighChartOptions['series'][1]['type'] = seriesTwoStyle\n }\n\n return {\n ...prevState,\n highChartOptions: newHighChartOptions,\n newStyles: newChartStyles\n }\n })\n\n if (state.report === 'money' || state.report === 'people' || state.report === 'customers') {\n setReportMetrics((prevState) => {\n let oldLayout = _.cloneDeep(prevState.layout)\n // Save styles to parent\n let newLayout = oldLayout.map(parentItem => {\n if (parentItem.i === editChartModel.chartDetails.parentKey || parentItem.i === editChartModel.chartDetails.i) {\n parentItem['metricRow']['styles'] = newChartStyles\n }\n return parentItem\n })\n\n return {\n ...prevState,\n layout: newLayout,\n noChangesMade: false\n }\n })\n } else {\n setDashboard((prevState) => {\n let oldLayout = _.cloneDeep(prevState.layout)\n let newLayout = oldLayout.map(parentItem => {\n if (parentItem.i === editChartModel.chartDetails.i) {\n parentItem['styles'] = newChartStyles\n }\n return parentItem\n })\n\n return {\n ...prevState,\n layout: newLayout,\n noChangesMade: false\n }\n })\n }\n }\n\n const buildEditChartModel = () => {\n let style1 = editChartModel.newStyles['seriesOne']['type']\n let style2 = editChartModel.newStyles['seriesTwo']['type']\n\n return (\n
    \n \n
    \n

    Edit Chart Style

    \n
    \n
    handleEditChartStyle('line', 'line')}> Lines
    \n
    handleEditChartStyle('column', 'column')}> Columns
    \n
    handleEditChartStyle('line', 'column')}> Line / Column
    \n
    handleEditChartStyle('column', 'line')}> Column / Line
    \n
    \n
    \n \n \n
    \n
    \n
    \n )\n }\n\n const handleMetricNotes = (parentKey, text) => {\n setReportMetrics((prevState) => {\n let oldLayout = _.cloneDeep(prevState.layout)\n // Save notes to parent\n let newLayout = oldLayout.map(parentItem => {\n if (parentItem['metricRow'] && parentItem['metricRow']['relatedCheckedKey'] === parentKey) {\n parentItem['metricRow']['notes'] = text\n }\n return parentItem\n })\n\n return {\n ...prevState,\n layout: newLayout,\n noChangesMade: false\n }\n })\n }\n\n const openFiltersModal = () => {\n setFiltersModalIsOpen(true)\n }\n\n const closeFiltersModal = () => {\n setFiltersModalIsOpen(false)\n }\n\n const { loading, report, pageTitle, calendarYearEnd, fiscalYearStartMonth, peerviewMetricsYears, calcs, monthly_calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs, calcs_3_years_back, baseCalc, monthlyForecastCalcs, tree, pnlTree, balTree, yearRange, n, docs_n, filters, filterOptions, insufficient_data, insufficient_peer_data, reportSpecific, isMonthlyAvailable, quarterMonths, trendData, fiscalYearEnd, companyYTDDate, aggregateYTDDate, companyReportSurvey, surveyTaken, surveyResults } = state;\n\n return (\n
    \n \n \n
    \n
    \n

    Report Filters

    \n
    \n
    \n
    \n {props.name ?

    CLIENT ID: {props.name}

    : null}\n {props.real_name ?

    CLIENT NAME: {props.real_name}

    : null}\n

    FISCAL YEAR END: {props.fiscal_year_end}

    \n

    NAICS: {props.code}, {props.industry}

    \n
    \n \n
    \n
    \n \n handleEditChartModal('close')}\n shouldCloseOnOverlayClick={false}\n >\n {buildEditChartModel()}\n \n \n {calcs || monthly_calcs ?\n \n \n {props.children({\n ...reportSpecific,\n activeTab,\n reportsOnTabs,\n allReportTabs,\n defaultDashboardViews,\n customDashboardViews,\n customLayouts,\n loading: loading,\n companyYTDDate: companyYTDDate,\n aggregateYTDDate: aggregateYTDDate,\n fiscalYearEnd: fiscalYearEnd,\n clientName: props.client_name || '',\n calendarYearEnd: calendarYearEnd,\n fiscalYearStartMonth: fiscalYearStartMonth,\n n: n,\n docs_n: docs_n,\n name: props.name,\n id: props.id,\n insufficientData: insufficient_data,\n insufficientPeerData: insufficient_peer_data,\n page: report,\n pageTitle,\n year: filters.year,\n yearRange: yearRange,\n tree,\n pnlTree,\n balTree,\n reportMetrics,\n calcs: calcs,\n previousYearCalcs: previousYearCalcs,\n yoy_calcs: yoy_calcs,\n previous_yoy_calcs: previous_yoy_calcs,\n quarterMonths: quarterMonths,\n trendData: trendData,\n dashboard: dashboard,\n tourData: props.tour_data,\n companyReportSurvey: companyReportSurvey,\n surveyTaken: surveyTaken,\n surveyResults: surveyResults,\n surveyModalIsOpen,\n surveyData: surveyData,\n moneyNotes,\n editDashboard,\n dashboardViewModalState: dashboardViewModalState,\n handleDefaultDashboardViewTab,\n hideReportFromTabs,\n addReportToTabs,\n saveTabOrder,\n handleSurveyModal,\n handleDashboardSelections,\n handleSelectAll,\n handleCustomLayoutChange,\n handleOnLayoutChange,\n handleToggleDraggable,\n handleSurveySubmit,\n handleEditChartModal,\n handleEditMetrics,\n handleSelectAndLayout,\n handleMoneyNotes,\n handleMetricNotes,\n handleEditDashBoard,\n handleDashboardViewModal,\n updateCustomLayout,\n getDashBoardView,\n updateDashBoardView,\n openFiltersModal,\n chatLoader,\n allChats: allChats,\n chat: chat,\n chatLoading: chatLoading,\n changeChat,\n handleOpenAiCall,\n })}\n \n \n :
    \n \n
    }\n
    \n )\n};\n\nexport default ReportContainer;","import React, { forwardRef } from 'react';\nimport peerviewLogo from '../../../assets/images/favicon.png';\n\nconst ReportTabsPopover = forwardRef((props, ref) => {\n let naicsFocusedReport = props.naicsCode.startsWith('621') || props.naicsCode.startsWith('813');\n const findReport = (reportTabKey) => {\n return props.allReportTabs.find(t => t.key === reportTabKey)\n }\n let tyVSly = findReport('ty_v_ly')\n let actVSfor = findReport('act_v_for')\n const customReportLink = props.hrefBuilder(props.navbar.parent_subdomain, '/dashboard_views')\n\n const renderCustomReportSection = (adminOrNormal, type, sectionName) => {\n let reports = adminOrNormal === 'admin' ? props.defaultDashboardViews : props.customDashboardViews\n if (reports[type].length > 0 || type === 'by_user') {\n return (\n <>\n {\n reports[type].map(r => {\n return (\n
    props.handleActiveTab(r, true)}>{r.name}
    \n )\n })\n }\n \n )\n }\n }\n\n\n return (\n \n
    \n
    \n
    \"Peerview Peerview Reports
    \n
    Money
    \n
    props.handleActiveTab(findReport('peerview_copilot'), true)}>Peerview Copilot (Beta)
    \n
    props.handleActiveTab(findReport('pnl'), true)}>Profit & Loss
    \n {naicsFocusedReport && (\n
    props.handleActiveTab(findReport('naics_focused'), true)}>\n {findReport('naics_focused').name}\n
    \n )}\n
    props.handleActiveTab(findReport('balance-sheet'), true)}>Balance Sheet
    \n
    props.handleActiveTab(findReport('cash-flow'), true)}>Cash Flow
    \n
    props.handleActiveTab(findReport('kfis'), true)}>Key Financial Indicators (KFIs)
    \n
    props.handleActiveTab(findReport('dashboard'), true)}>Dashboard
    \n
    People
    \n
    props.handleActiveTab(findReport('people_financial_detail'), true)}>Financial Detail
    \n
    props.handleActiveTab(findReport('people_kpi'), true)}>Key Performance Indicators (KPIs)
    \n
    Customers
    \n
    props.handleActiveTab(findReport('customers_financial_detail'), true)}>Financial Detail
    \n
    props.handleActiveTab(findReport('customers_kpi'), true)}>Key Performance Indicators (KPIs)
    \n
    \n
    \n
    Analysis Reports
    \n {renderCustomReportSection('admin', 'visible_to_all', 'Default Reports')}\n {renderCustomReportSection('admin', 'by_naics', 'Defaults By NAICS')}\n {renderCustomReportSection('admin', 'by_parent', 'Defaults By Firm')}\n
    \n
    \n
    My Custom Reports
    \n \n {tyVSly ?
    props.handleActiveTab(findReport('ty_v_ly'), true)}>TYvLY
    : null}\n {actVSfor ?
    props.handleActiveTab(findReport('act_v_for'), true)}>ActvFor
    : null}\n {renderCustomReportSection('normal', 'by_user', 'My Custom Reports')}\n
    \n
    \n
    Reports Shared With Me
    \n {renderCustomReportSection('normal', 'by_others', 'Reports Shared With Me')}\n
    \n
    \n \n )\n})\n\nexport default ReportTabsPopover;","// Calculations on Monthly Forecast for current ratio, gross profit, and operating profit\nconst ratioCalculations = (key, calcs) => {\n const ratio = {}\n let denominator;\n let numerator = _.pickBy(calcs[key], _.isNumber);\n const totalNumeratorMonths = Object.keys(numerator)\n const numberOfNumeratorMonths = totalNumeratorMonths.length\n\n if (key === 'total_current_assets') {\n denominator = _.pickBy(calcs.total_current_liabilities, _.isNumber)\n }\n if (key === 'gross_profit' || key === 'operating_profit') {\n denominator = _.pickBy(calcs.total_revenue, _.isNumber)\n }\n const totalDenominatorMonths = Object.keys(denominator)\n const numberOfDenominatorMonths = totalDenominatorMonths.length\n\n if (numberOfNumeratorMonths === numberOfDenominatorMonths) {\n for (let i = 1; i <= numberOfNumeratorMonths; i++) {\n let numeratorMonth = totalNumeratorMonths[i - 1]\n let denominatorMonth = totalDenominatorMonths[i - 1]\n if (numeratorMonth === denominatorMonth) {\n ratio[i] = (numerator[i] / denominator[i])\n } else {\n ratio[i] = null\n }\n }\n }\n\n return ratio\n}\n\n// ratioCalcs for Money report\nconst ratioCalculationsMoney = (key, calcs, previousYearCalcs, numberOfMonths) => {\n const ratio = {};\n let denominator;\n let numerator = sumTrailing12MonthsValues(calcs, previousYearCalcs, key)\n const totalNumeratorMonths = Object.keys(numerator)\n const numberOfNumeratorMonths = numberOfMonths\n\n if (calcs && previousYearCalcs && key === 'gross_profit' || key === 'operating_profit') {\n denominator = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_revenue')\n } else if (key === 'total_current_assets') {\n // denominator = _.pickBy(calcs.total_current_liabilities, _.isNumber)\n denominator = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_current_liabilities')\n }\n\n const totalDenominatorMonths = Object.keys(denominator)\n const numberOfDenominatorMonths = totalDenominatorMonths.length\n\n if (numberOfNumeratorMonths <= numberOfDenominatorMonths) {\n for (let i = 1; i <= numberOfNumeratorMonths; i++) {\n let numeratorMonth = totalNumeratorMonths[i - 1]\n let denominatorMonth = totalDenominatorMonths[i - 1]\n if (numeratorMonth === denominatorMonth) {\n ratio[i] = (numerator[i] / denominator[i])\n } else {\n ratio[i] = null\n }\n }\n }\n return ratio\n}\n\n// need to calculate EBITDA for forecast\nconst calculateEBITDA = (calcs) => {\n const ebitda = {}\n let netIncomeValues = _.pickBy(calcs.operating_expenses_net_income, _.isNumber)\n const monthsWithValues = Object.keys(netIncomeValues)\n const numberOfMonths = monthsWithValues.length\n\n for (let i = 1; i <= numberOfMonths; i++) {\n let numbers = []\n let sum = 0\n let netIncome = calcs.operating_expenses_net_income ? calcs.operating_expenses_net_income[i] : null\n let interest = calcs.interest_and_other_expenses ? calcs.interest_and_other_expenses[i] : null\n let taxes = calcs['total_other_costs_taxes_- federal & state'] ? calcs['total_other_costs_taxes_- federal & state'][i] : null\n let deprAmor = calcs.depreciation_and_amortization ? calcs.depreciation_and_amortization[i] : null\n\n ebitda[i] = (netIncome + interest + taxes + deprAmor)\n }\n\n return ebitda\n}\n\n// Do not have net_working_capital values on back end.\nconst netWorkingCapitalCalculation = (calcs) => {\n // Current Assets - Current Liabilities (Still use current calcs)\n // Need to be careful if client only has data for specific months\n const netWorkingCapitalRatio = {}\n const totalCurrentAssets = _.pickBy(calcs.total_current_assets, _.isNumber)\n const totalCurrentAssetsMonths = Object.keys(totalCurrentAssets)\n const numberOfTotalCurrentAssets = totalCurrentAssetsMonths.length\n const totalCurrentLiabilities = _.pickBy(calcs.total_current_liabilities, _.isNumber)\n const totalCurrentLiabilitiesMonths = Object.keys(totalCurrentLiabilities)\n const numberOfTotalCurrentLiabilities = totalCurrentLiabilitiesMonths.length\n\n if (numberOfTotalCurrentAssets === numberOfTotalCurrentLiabilities) {\n for (let i = 1; i <= numberOfTotalCurrentAssets; i++) {\n let totalCurrentAssetsMonth = totalCurrentAssetsMonths[i - 1]\n let totalCurrentLiabilitiesMonth = totalCurrentLiabilitiesMonths[i - 1]\n if (totalCurrentAssetsMonth === totalCurrentLiabilitiesMonth) {\n netWorkingCapitalRatio[i] = totalCurrentAssets[i] - totalCurrentLiabilities[i]\n } else {\n netWorkingCapitalRatio[i] = null\n }\n }\n }\n return netWorkingCapitalRatio // {1: 123, 2: 312, ...}\n}\n\n// The current net_working_capital_ratio values are wrong.\nconst netWorkingCapitalRatioCalculation = (calcs) => {\n // Current Assets - Current Liabilities (Still use current calcs)\n // Need to be careful if client only has data for specific months\n const netWorkingCapitalRatio = {}\n const totalCurrentAssets = _.pickBy(calcs.total_current_assets, _.isNumber)\n const totalCurrentAssetsMonths = Object.keys(totalCurrentAssets)\n const numberOfTotalCurrentAssets = totalCurrentAssetsMonths.length\n const totalCurrentLiabilities = _.pickBy(calcs.total_current_liabilities, _.isNumber)\n const totalCurrentLiabilitiesMonths = Object.keys(totalCurrentLiabilities)\n const numberOfTotalCurrentLiabilities = totalCurrentLiabilitiesMonths.length\n const totalAssets = _.pickBy(calcs.total_assets, _.isNumber);\n\n if (numberOfTotalCurrentAssets === numberOfTotalCurrentLiabilities) {\n for (let i = 1; i <= numberOfTotalCurrentAssets; i++) {\n let totalCurrentAssetsMonth = totalCurrentAssetsMonths[i - 1]\n let totalCurrentLiabilitiesMonth = totalCurrentLiabilitiesMonths[i - 1]\n if (totalCurrentAssetsMonth === totalCurrentLiabilitiesMonth && totalAssets[i]) {\n netWorkingCapitalRatio[i] = (totalCurrentAssets[i] - totalCurrentLiabilities[i]) / totalAssets[i]\n } else {\n netWorkingCapitalRatio[i] = null\n }\n }\n }\n\n return netWorkingCapitalRatio // {1: 123, 2: 312, ...}\n}\n\n// trailing12MonthCalculations gets called when one of the keys we need to calculate the sum of the trailing 12 month values for\nconst trailing12MonthCalculations = (key, calcs, previousYearCalcs) => {\n let calculatedValues = {};\n let calcKeys = calcs ? Object.keys(calcs) : [];\n let previousYearKeys = previousYearCalcs ? Object.keys(previousYearCalcs) : [];\n\n if (calcKeys.length > 0 && previousYearKeys.length > 0) {\n switch (key) {\n case 'Return on Assets (ROA)':\n calculatedValues = calcROAandROEandROCEandDE(key, calcs, previousYearCalcs);\n break;\n case 'Return on Equity (ROE)':\n calculatedValues = calcROAandROEandROCEandDE(key, calcs, previousYearCalcs);\n break;\n case 'Return on Capital Employed (ROCE)':\n calculatedValues = calcROAandROEandROCEandDE(key, calcs, previousYearCalcs);\n break;\n case 'Asset Turnover Ratio':\n calculatedValues = calcATRandARD(key, calcs, previousYearCalcs);\n break;\n case 'Inventory Turnover Ratio':\n calculatedValues = calcITR(calcs, previousYearCalcs);\n break;\n case 'Accounts Receivable Days':\n calculatedValues = calcATRandARD(key, calcs, previousYearCalcs);\n break;\n case 'Accounts Payable Days':\n calculatedValues = calcAPD(calcs, previousYearCalcs);\n break;\n case 'Debt / Equity':\n calculatedValues = calcROAandROEandROCEandDE(key, calcs, previousYearCalcs);\n break;\n case 'Senior Debt / EBITDA':\n calculatedValues = calcSDEandEAI(key, calcs, previousYearCalcs)\n break;\n case 'EBITDA / Annual Interest':\n calculatedValues = calcSDEandEAI(key, calcs, previousYearCalcs);\n break;\n case 'ROI':\n calculatedValues = calcROI(calcs, previousYearCalcs);\n break;\n }\n }\n return calculatedValues;\n}\n\nconst getSumForEachMonth = (i, monthNumber, previousYearMonth, numberOfPreviousYearMonths, numberOfEnoughMonths, metrics = {}, previousYearMetrics = {}) => {\n\n if (numberOfPreviousYearMonths > numberOfEnoughMonths) {\n let monthValues = {}\n\n // getting previous year month values\n for (let j = i + 1; j <= 12; j++) {\n if (previousYearMonth !== monthNumber) {\n monthValues[j] = previousYearMetrics[j]\n }\n }\n // getting current year month values\n for (let k = i + 1; k > 0; k--) {\n monthValues[k] = metrics[k]\n }\n\n let values = Object.values(monthValues)\n let sumForMonth = values.reduce((a, b) => {\n let firstVal = _.isNumber(a) ? a : 0;\n let secondVal = _.isNumber(b) ? b : 0;\n return (Number(firstVal.toFixed(2)) + Number(secondVal.toFixed(2)))\n })\n return sumForMonth\n }\n}\n\nconst sumTrailing12MonthsValues = (calcs, previousYearCalcs, value) => {\n // We need to get 12 values for trailing 12 months for each month client has data for.\n // Each month is going to need a sum, save each new sum value for each month in a new object.\n // Client may not always have data starting at January of current year and we need to be careful about getting values for the right months.\n let sumsOfTrailing12Months = {} // { 1: 0.1906043449119196, 2: 0.16704260377198493, 3: 0.31016848516398315, 4: 0.21613961614104255, 5: 0.11732514571381171}\n let metrics\n let previousYearMetrics\n\n // Lodash method _.pickBy takes the object as the 1st argument and a function as the 2nd argument to select properties that satisfy the function.\n // _.isNumber checks if the value is a number or not\n // Removing proprties with null values from given object to find out if we will have a total of 12 months to use from the current and previous years.\n // Ex. calcs: { roa:{ 1: 1231, 2: 23131, 3: 213, 4: 0, 5: null, 6: null, 7: ... 12: 0}}\n // Ex. previousYearCalcs: { roa:{ 1: 120, 2: 23000, 3: 213, 4: 0, 5: 3141, 6: 234234, 7: ... 12: 0}}\n if (value === 'ebitda') {\n metrics = calcs\n previousYearMetrics = previousYearCalcs\n } else {\n metrics = _.pickBy(calcs[value], _.isNumber)\n previousYearMetrics = _.pickBy(previousYearCalcs[value], _.isNumber)\n }\n\n // check the length of arrays\n let currentYearMonths = Object.keys(metrics) // ['1', '2', '3', '4', '5']\n let previousYearMonths = Object.keys(previousYearMetrics) // ['1', '2', '3', '4', '5', ...]\n let numberOfCurrentYearMonths = currentYearMonths.length\n let numberOfPreviousYearMonths = previousYearMonths.length\n\n // Check if we have less than 12 month values from both years and just return empty object which will show no values in table.\n if (numberOfCurrentYearMonths + numberOfPreviousYearMonths < 12) {\n return sumsOfTrailing12Months\n }\n // Getting a sums for each month per metrics/key.\n // Ex. if metrics/key is Return on Assets (ROA), current year is 2020 and previous year is 2019\n // when month = December 2020 (or Current Year), we can add all the values in the current calcs and don't need previousYearCalcs\n // November 2020, Nov -> Jan 2020 + December 2019: calcs.roa(1-11) previousYearCalcs.roa (12)\n // Oct 2020, Oct -> Jan 2020 + Dec -> Nov 2019: calcs.roa(1-10) previousYearCalcs.roa (11-12)\n // Sept 2020, Sept -> Jan 2020 + Dec -> Oct 2019: calcs.roa(1-9) previousYearCalcs.roa (10-12)\n // Aug 2020, Aug -> Jan 2020 + Dec -> Sept 2019: calcs.roa(1-8) previousYearCalcs.roa (9-12)\n // Jul 2020, Jul -> Jan 2020 + Dec -> Aug 2019: calcs.roa(1-7) previousYearCalcs.roa (8-12)\n // Jun 2020, Jun -> Jan 2020 + Dec -> Jul 2019: calcs.roa(1-6) previousYearCalcs.roa (7-12)\n // May 2020, May -> Jan 2020 + Dec -> Jun 2019: calcs.roa(1-5) previousYearCalcs.roa (6-12)\n // Apr 2020, Apr -> Jan 2020 + Dec -> May 2019: calcs.roa(1-4) previousYearCalcs.roa (5-12)\n // Mar 2020, Mar -> Jan 2020 + Dec -> Apr 2019: calcs.roa(1-3) previousYearCalcs.roa (4-12)\n // Feb 2020, Feb -> Jan 2020 + Dec -> Mar 2019: calcs.roa(1-2) previousYearCalcs.roa (3-12)\n // Jan 2020, Jan 2020 + Dec -> Feb 2019: calcs.roa(1) previousYearCalcs.roa (2-12)\n // january 2020\n // We're going through the number of months in the current year.\n // For each month we check the number and the number of months from the previous year to make we have 12 trailing months.\n // We create a new object and in the inner loop we set previous year months in that object.\n // After the loop we set current year months to this object based on which month we have current year data for.\n // Then the values for that object are set equal to an array. \n // The array is reduced to get the sum for the month we need and pushed into the final sums array.\n\n for (let i = 0; i < numberOfCurrentYearMonths; i++) {\n let currentYearMonth = currentYearMonths[i]\n let previousYearMonth = previousYearMonths[i]\n\n switch (currentYearMonth) {\n case '1':\n sumsOfTrailing12Months[1] = getSumForEachMonth(i, 1, previousYearMonth, numberOfPreviousYearMonths, 10, metrics, previousYearMetrics);\n break;\n case '2':\n sumsOfTrailing12Months[2] = getSumForEachMonth(i, 2, previousYearMonth, numberOfPreviousYearMonths, 9, metrics, previousYearMetrics);\n break;\n case '3':\n sumsOfTrailing12Months[3] = getSumForEachMonth(i, 3, previousYearMonth, numberOfPreviousYearMonths, 8, metrics, previousYearMetrics);\n break;\n case '4':\n sumsOfTrailing12Months[4] = getSumForEachMonth(i, 4, previousYearMonth, numberOfPreviousYearMonths, 7, metrics, previousYearMetrics);\n break;\n case '5':\n sumsOfTrailing12Months[5] = getSumForEachMonth(i, 5, previousYearMonth, numberOfPreviousYearMonths, 6, metrics, previousYearMetrics);\n break;\n case '6':\n sumsOfTrailing12Months[6] = getSumForEachMonth(i, 6, previousYearMonth, numberOfPreviousYearMonths, 5, metrics, previousYearMetrics);\n break;\n case '7':\n sumsOfTrailing12Months[7] = getSumForEachMonth(i, 7, previousYearMonth, numberOfPreviousYearMonths, 4, metrics, previousYearMetrics);\n break;\n case '8':\n sumsOfTrailing12Months[8] = getSumForEachMonth(i, 8, previousYearMonth, numberOfPreviousYearMonths, 3, metrics, previousYearMetrics);\n break;\n case '9':\n sumsOfTrailing12Months[9] = getSumForEachMonth(i, 9, previousYearMonth, numberOfPreviousYearMonths, 2, metrics, previousYearMetrics);\n break;\n case '10':\n sumsOfTrailing12Months[10] = getSumForEachMonth(i, 10, previousYearMonth, numberOfPreviousYearMonths, 1, metrics, previousYearMetrics);\n break;\n case '11':\n sumsOfTrailing12Months[11] = getSumForEachMonth(i, 11, previousYearMonth, numberOfPreviousYearMonths, 1, metrics, previousYearMetrics);\n break;\n case '12':\n sumsOfTrailing12Months[12] = getSumForEachMonth(i, 12, previousYearMonth, numberOfPreviousYearMonths, 0, metrics, previousYearMetrics);\n break;\n }\n }\n return sumsOfTrailing12Months;\n}\n\n\nconst calcROI = (calcs, previousYearCalcs) => {\n const returnObject = {};\n if (calcs) {\n let sumTrailing12NetIncome = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'operating_expenses_net_income');\n let capitalStock = calcs.capital_stock;\n for (let month in sumTrailing12NetIncome) {\n if (capitalStock[month] !== 0) {\n // (last 12 months of operating_expenses_net_income) / capital stock\n returnObject[month] = sumTrailing12NetIncome[month] / capitalStock[month];\n }\n }\n }\n return returnObject;\n}\n\n// calculations for both return on assets and return on equity\n// both use operating_expenses_net_income trailing 12 as a numerator\nconst calcROAandROEandROCEandDE = (key, calcs, previousYearCalcs) => {\n const returnObject = {};\n const currentYearTotalNetWorth = {};\n const denominatorROCE = {};\n const balanceSheetNetIncome = {};\n const sumTrailing12NetIncome = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'operating_expenses_net_income') || {};\n const sumTrailing12OperatingProfit = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'operating_profit') || {};\n const currentYearTotalAssets = calcs.total_assets || {};\n const currentYearLongTermDebt = calcs.long_term_debt || {};\n const currentTotalLiabilities = calcs.total_current_liabilities || {};\n const nonTrailing12NetIcome = calcs.operating_expenses_net_income || {};\n const capitalStockAll = calcs.capital_stock || {};\n const ownerDistributionsAll = calcs.owner_distributions || {};\n const retainedEarningsAll = calcs.retained_earnings || {};\n\n const nonTrailing12NetIcomeValues = Object.values(nonTrailing12NetIcome || {});\n let helperTotal = 0;\n nonTrailing12NetIcomeValues.forEach((value, index) => {\n if (typeof value === 'number') {\n helperTotal += value;\n balanceSheetNetIncome[index + 1] = helperTotal;\n }\n });\n\n for (let month in sumTrailing12NetIncome) {\n const capitalStock = capitalStockAll[month] ?? 0;\n const ownerDistributions = ownerDistributionsAll[month] ?? 0;\n const retainedEarnings = retainedEarningsAll[month] ?? 0;\n const longTermDebt = currentYearLongTermDebt[month] ?? 0;\n const totalAssets = currentYearTotalAssets[month] ?? null;\n const totalLiabilities = currentTotalLiabilities[month] ?? 0;\n const netIncome = sumTrailing12NetIncome[month] ?? null;\n const operatingProfit = sumTrailing12OperatingProfit[month] ?? null;\n\n currentYearTotalNetWorth[month] = capitalStock + ownerDistributions + retainedEarnings + (balanceSheetNetIncome[month] ?? 0);\n denominatorROCE[month] = longTermDebt + currentYearTotalNetWorth[month];\n if (key === 'Return on Assets (ROA)' && totalAssets !== 0 && netIncome !== null) {\n returnObject[month] = netIncome / totalAssets;\n } else if (key === 'Return on Equity (ROE)' && currentYearTotalNetWorth[month] !== 0 && netIncome !== null) {\n returnObject[month] = netIncome / currentYearTotalNetWorth[month];\n } else if (key === 'Return on Capital Employed (ROCE)' && denominatorROCE[month] !== 0 && operatingProfit !== null) {\n returnObject[month] = operatingProfit / denominatorROCE[month];\n } else if (key === 'Debt / Equity' && currentYearTotalNetWorth[month] !== 0) {\n returnObject[month] = (totalLiabilities + longTermDebt) / currentYearTotalNetWorth[month];\n } else {\n returnObject[month] = null;\n }\n }\n\n return returnObject;\n}\n\n// calculations for both Asset Turnover Ratio and Accounts Receivable Days\n// both use trailing 12 total revenue\nconst calcATRandARD = (key, calcs, previousYearCalcs) => {\n const returnObject = {};\n if (calcs) {\n let sumTrailing12TotalRevenue = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_revenue');\n let currentYearTotalAssets = calcs.total_assets;\n let currentYearAcctsRec = calcs.accounts_receivable;\n // month example looks like '1', '2', '3', ...\n for (let month in sumTrailing12TotalRevenue) {\n if (key === 'Asset Turnover Ratio' && currentYearTotalAssets[month] !== 0) {\n // (last 12 months of total_revenue) / total_assets\n returnObject[month] = sumTrailing12TotalRevenue[month] / currentYearTotalAssets[month];\n } else if (key === 'Accounts Receivable Days' && sumTrailing12TotalRevenue[month] !== 0) {\n // ( 360 * accounts_receivable ) / (last 12 months of total_revenue)\n returnObject[month] = (360 * currentYearAcctsRec[month]) / sumTrailing12TotalRevenue[month];\n }\n }\n return returnObject;\n }\n return returnObject;\n}\n\n// Inventory Turnover Ratio\nconst calcITR = (calcs, previousYearCalcs) => {\n const returnObject = {};\n const denominator = {};\n if (calcs) {\n let sumTrailing12COGSMat = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'materials_costs');\n let currentYearInventory = calcs.inventory;\n let previousYearInventory = previousYearCalcs.inventory;\n\n for (let month in sumTrailing12COGSMat) {\n denominator[month] = (currentYearInventory[month] + previousYearInventory[month]) / 2;\n if (denominator[month] !== 0) {\n returnObject[month] = sumTrailing12COGSMat[month] / denominator[month];\n } else {\n returnObject[month] = 0;\n }\n }\n return returnObject\n }\n return returnObject\n}\n\n// Accounts Payable Days\nconst calcAPD = (calcs, previousYearCalcs) => {\n const returnObject = {};\n const denominator = {};\n if (calcs) {\n let sumCOGS = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_costs');\n let sumLaborCosts = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'labor_costs');\n let sumTotalOpEx = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_operating_expenses');\n let sumTotalTaxBenies = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_taxes_and_benefits');\n let sumTotalComp = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'total_compensation');\n let currentYearAccountsPayable = calcs.accounts_payable;\n\n for (let month in sumCOGS) {\n denominator[month] = sumCOGS[month] - sumLaborCosts[month] + sumTotalOpEx[month] - sumTotalTaxBenies[month] - sumTotalComp[month];\n if (denominator[month] !== 0) {\n returnObject[month] = (360 * currentYearAccountsPayable[month]) / denominator[month];\n }\n }\n return returnObject\n }\n return returnObject\n}\n\n// calculations for both Senior Debt / EBITDA and EBITDA / Annual Interest\n// both use trailing 12 months of EBITDA\nconst calcSDEandEAI = (key, calcs, previousYearCalcs) => {\n const returnObject = {};\n if (calcs && previousYearCalcs) {\n let sumTrailing12Interest = sumTrailing12MonthsValues(calcs, previousYearCalcs, 'interest_and_other_expenses')\n let currentYearEBITDA = calculateEBITDA(calcs)\n let previousYearEBITDA = calculateEBITDA(previousYearCalcs)\n let sumTrailing12EBITDA = sumTrailing12MonthsValues(currentYearEBITDA, previousYearEBITDA, 'ebitda');\n let currentYearLOC = calcs.line_of_credit;\n let currentYearCurrentPortionLTD = calcs.current_portion_of_ltd;\n let currentYearLTD = calcs.long_term_debt;\n // month example looks like '1', '2', '3', ...\n for (let month in sumTrailing12EBITDA) {\n if (key === 'Senior Debt / EBITDA' && sumTrailing12EBITDA[month] !== 0) {\n // (long_term_debt + line_of_credit + current_portion_of_ltd) / (last 12 months of ebitda)\n returnObject[month] = (currentYearLOC[month] + currentYearCurrentPortionLTD[month] + currentYearLTD[month]) / sumTrailing12EBITDA[month];\n } else if (key === 'EBITDA / Annual Interest' && sumTrailing12Interest[month] !== 0) {\n // (last 12 months of ebitda) / (last 12 months of interest_and_other_expenses)\n returnObject[month] = sumTrailing12EBITDA[month] / sumTrailing12Interest[month];\n }\n }\n return returnObject;\n }\n return returnObject;\n}\n\nexport { ratioCalculations, ratioCalculationsMoney, calculateEBITDA, netWorkingCapitalCalculation, netWorkingCapitalRatioCalculation, trailing12MonthCalculations, sumTrailing12MonthsValues };","import React from 'react';\nimport { ratioCalculations, ratioCalculationsMoney, calculateEBITDA, netWorkingCapitalCalculation, netWorkingCapitalRatioCalculation, trailing12MonthCalculations } from '../monthly/monthy_analysis_table_trailing12_calculations';\n\n// Used by Monthly and YTD Sheets/Tables\nlet monthArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst today = new Date();\nlet currentMonth = today.getMonth();\n\nconst CommonSizeArrowsHelper = (props) => {\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n if (!_.isEmpty(props.passedCalcs)) {\n let arrow\n const reducedArrayYou = props.display === 'monthly' ? props.arrayYou.reduce((a, b) => a + b, 0) : props.valueYou;\n const reducedArrayComparedTo = props.display === 'monthly' ? props.arrayCompareTo.slice(0, props.monthsAvailable).reduce((a, b) => a + b, 0) : props.valueCompareTo;\n\n if (props.sheet == 'pnl') {\n const totalRevenueYou = Object.values(props.youTotRev).reduce((a, b) => a + b, 0)\n const totalRevenueCompareTo = Object.values(props.passedCalcs['total_revenue']).slice(0, props.monthsAvailable).reduce((a, b) => a + b, 0)\n const you = (reducedArrayYou / totalRevenueYou) * 100\n const compareTo = (reducedArrayComparedTo / totalRevenueCompareTo) * 100\n arrow = CommonSizeArrows(you, compareTo, props.keyArrBuilder)\n } else {\n const totalAssetsYou = Object.values(props.youTotAssets).filter(val => _.isNumber(val))\n let numberOfValues = totalAssetsYou.length;\n const youValue = numberOfValues > 0 && props.display === 'monthly' ? props.arrayYou[numberOfValues - 1] : props.valueYou;\n const totalAssetsYouValue = numberOfValues > 0 ? totalAssetsYou[numberOfValues - 1] : null;\n const totalAssetsCompareTo = Object.values(props.passedCalcs['total_assets']).filter(val => _.isNumber(val))\n const totalAssetsCompareVal = totalAssetsCompareTo.length > 0 ? totalAssetsCompareTo[props.monthsAvailable - 1] : null;\n const compareValue = numberOfValues > 0 && props.display === 'monthly' ? props.arrayCompareTo[props.monthsAvailable - 1] : props.valueCompareTo;\n\n const you = ((youValue / totalAssetsYouValue) * 100)\n const compareTo = ((compareValue / totalAssetsCompareVal) * 100)\n arrow = CommonSizeArrows(you, compareTo, props.keyArrBuilder)\n }\n\n if (arrow === 'better' || arrow === 'best') {\n arrow =

    \n } else if (arrow === 'worse' || arrow == 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n\n return ({arrow})\n } else {\n return ()\n }\n}\n\nconst CommonSizeArrows = (you, avg, key, parentKey = '') => {\n // Common sized values\n const goodUpArrowKeys = ['total_revenue', 'total_revenue_gross_charges', 'gross_profit', 'operating_profit', 'operating_expenses_net_income', 'total_current_assets', 'total_fixed_assets', 'total_assets', 'ebitda'];\n const goodUpBalanceSheetParents = ['total_current_assets', 'total_fixed_assets', 'total_assets'];\n const ingoreArrowKeys = ['total_revenue_collections', 'net_worth', 'total_liabilities_and_equity'];\n let keyIsGoodUp = goodUpArrowKeys.includes(key);\n if (goodUpBalanceSheetParents.includes(parentKey)) {\n keyIsGoodUp = true;\n }\n if (ingoreArrowKeys.includes(key) || ingoreArrowKeys.includes(parentKey)) {\n return 'maintain';\n }\n let rangeWorst, rangeWorse, rangeBetter, rangeBest;\n if (avg !== null) {\n rangeWorst = avg - 10;\n rangeWorse = avg - 5;\n rangeBetter = avg + 5;\n rangeBest = avg + 10;\n }\n\n if (rangeWorse < you && you < rangeBetter) {\n return 'maintain';\n } else if (rangeWorst < you && you < rangeWorse) {\n return keyIsGoodUp ? 'worse' : 'better';\n } else if (you < rangeWorst) {\n return keyIsGoodUp ? 'worst' : 'best';\n } else if (rangeBest > you && you > rangeBetter) {\n return keyIsGoodUp ? 'better' : 'worse';\n } else if (you > rangeBest) {\n return keyIsGoodUp ? 'best' : 'worst';\n } else {\n return 'n/a';\n }\n}\n\nconst YTDPnlandBalCommonSizeValue = (value, sheet, calcs) => {\n if (sheet == 'pnl') {\n if (_.isNumber(value)) {\n const totalRevenue = calcs['total_revenue'] ? Object.values(calcs['total_revenue']).reduce((a, b) => a + b, 0) : 0\n return totalRevenue ? value / totalRevenue : 0\n } else {\n return undefined\n }\n } else if (sheet === 'financial_detail' || sheet === 'kpi') {\n if (_.isNumber(value)) {\n const totalRevenue = calcs['total_revenue'] ? Object.values(calcs['total_revenue']).splice(0, currentMonth).reduce((a, b) => a + b, 0) : 0\n return totalRevenue ? value / totalRevenue : 0\n } else {\n return undefined\n }\n } else {\n if (_.isNumber(value)) {\n let totalAssets = Object.values(calcs['total_assets']);\n let indexOfNullValue = totalAssets.indexOf(null);\n const totalAssetsValue = indexOfNullValue >= 0 ? totalAssets[indexOfNullValue - 1] : totalAssets[totalAssets.length - 1];\n return value / totalAssetsValue\n } else {\n return undefined\n }\n }\n}\n\nconst doctorsNAICS = ['621', '6211', '6213'];\n\nconst totalNAICSYTD = (naicsCode, key, calcs, rows) => {\n let valuesArr = []\n let childrenObjs = rows.filter(r => r.parentKey === key)\n let childrenValues = []\n\n childrenObjs.forEach((c) => {\n let totalVal = 0;\n\n if (c.key === \"salaries_non_owners\") {\n let youTotalCompensation = calcs['total_compensation'] ? Object.values(calcs['total_compensation']).reduce((a, b) => a + b, 0) : 0\n let youSalariesDoctor = 0\n\n if (naicsCode && naicsCode.startsWith('6212')) {\n youSalariesDoctor = calcs['dentist'] ? Object.values(calcs['dentist']).reduce((a, b) => a + b, 0) : 0\n } else if (naicsCode && doctorsNAICS.some(naics => naicsCode.startsWith(naics))) {\n youSalariesDoctor = calcs['total_compensation_doctor'] ? Object.values(calcs['total_compensation_doctor']).reduce((a, b) => a + b, 0) : 0\n }\n\n totalVal = youTotalCompensation - youSalariesDoctor\n } else {\n c.map_keys.forEach((mk) => {\n totalVal += calcs[mk] ? Object.values(calcs[mk]).reduce((a, b) => a + b, 0) : 0\n })\n }\n childrenValues.push(totalVal)\n })\n\n return childrenValues.reduce((a, b) => a + b, 0)\n}\n\nconst YTDNAICSFocusedVals = (naicsCode, key, map_keys, allCalcs, rows = '') => {\n let finalValue = null;\n let values = []\n if (key === 'operating_expenses_net_income') {\n let totalDirectCosts = totalNAICSYTD(naicsCode, 'total_direct_costs', allCalcs, rows)\n let totalAdminCosts = totalNAICSYTD(naicsCode, 'total_administrative_costs', allCalcs, rows)\n let totalRevenue = allCalcs['total_revenue'] ? Object.values(allCalcs['total_revenue']).reduce((a, b) => a + b, 0) : 0\n finalValue = totalRevenue - totalDirectCosts - totalAdminCosts\n } else if (key === 'gross_profit') {\n let totalDirectCosts = totalNAICSYTD(naicsCode, 'total_direct_costs', allCalcs, rows)\n let totalRevenue = allCalcs['total_revenue'] ? Object.values(allCalcs['total_revenue']).reduce((a, b) => a + b, 0) : 0\n finalValue = totalRevenue - totalDirectCosts\n } else if (key === 'total_direct_costs' || key === 'total_administrative_costs') {\n finalValue = totalNAICSYTD(naicsCode, key, allCalcs, rows)\n } else {\n map_keys.forEach(mk => {\n let filteredVals = allCalcs[mk] ? Object.values(allCalcs[mk]).filter(val => _.isNumber(val)) : [];\n values = [...values, ...filteredVals]\n })\n finalValue = values.reduce((a, b) => a + b, 0)\n }\n return finalValue\n}\n\n// YTD PNL and Balance Sheet Values\nconst YTDPnlandBalValues = (sheet, key, metricValues, allCalcs) => {\n let finalValue = null;\n let values;\n const netWorth = sheet == 'balance_sheet' && key == 'net_worth'\n const totalLiabilitiesAndEquity = sheet == 'balance_sheet' & key == 'total_liabilities_and_equity'\n\n if (metricValues && !finalValue) {\n if (sheet === 'pnl') {\n values = Object.values(metricValues).filter(val => _.isNumber(val));\n finalValue = values.reduce((a, b) => a + b, 0)\n } else if (sheet === 'financial_detail' || sheet === 'kpi') {\n values = Object.values(metricValues).splice(0, currentMonth).filter(val => _.isNumber(val));\n finalValue = values.reduce((a, b) => a + b, 0)\n } else {\n let values = Object.values(metricValues).filter(val => _.isNumber(val));\n if (key === 'operating_expenses_net_income') {\n finalValue = values.reduce((a, b) => a + b, 0)\n } else if (netWorth) {\n let arrayOfTheMetricsMonthsAvailable = Object.keys(allCalcs['roa'])\n let lastMonthAvailable = arrayOfTheMetricsMonthsAvailable[arrayOfTheMetricsMonthsAvailable.length - 1]\n let memory = 0\n let netWorthVals = Object.values(metricValues)\n for (let i = 1; i <= lastMonthAvailable; i++) {\n memory += _.isNumber(allCalcs['operating_expenses_net_income'][i]) ? allCalcs['operating_expenses_net_income'][i] : 0;\n let capitalStock = _.isNumber(allCalcs['capital_stock'][i]) ? allCalcs['capital_stock'][i] : null;\n let retainedEarnings = _.isNumber(allCalcs['retained_earnings'][i]) ? allCalcs['retained_earnings'][i] : null;\n let ownerDistributions = _.isNumber(allCalcs['owner_distributions'][i]) ? allCalcs['owner_distributions'][i] : null;\n netWorthVals[i - 1] = _.isNumber(allCalcs['operating_expenses_net_income'][i]) ? memory + capitalStock + retainedEarnings + ownerDistributions : null;\n }\n let filteredNetWorthVals = netWorthVals.filter(val => _.isNumber(val))\n finalValue = filteredNetWorthVals[filteredNetWorthVals.length - 1]\n } else if (totalLiabilitiesAndEquity) {\n let arrayOfTheMetricsMonthsAvailable = Object.keys(allCalcs['roa'])\n let lastMonthAvailable = arrayOfTheMetricsMonthsAvailable[arrayOfTheMetricsMonthsAvailable.length - 1]\n let totalLiabAndEqVals = Object.values(metricValues)\n for (let i = 1; i <= lastMonthAvailable; i++) {\n totalLiabAndEqVals[i - 1] = allCalcs['total_assets'][i]\n }\n let filteredTotalLiabAndEqVals = totalLiabAndEqVals.filter(val => _.isNumber(val));\n finalValue = filteredTotalLiabAndEqVals[filteredTotalLiabAndEqVals.length - 1]\n } else {\n finalValue = values[values.length - 1];\n }\n }\n }\n return finalValue\n\n}\n\nconst totalNAICSFocusedMonthly = (naicsCode, monthsAvailable, key, calcs, rows) => {\n let valuesArr = []\n let childrenObjs = rows.filter(r => r.parentKey === key)\n for (let i = 1; i < monthsAvailable + 1; i++) {\n let youSum = 0;\n childrenObjs.forEach((c) => {\n if (c.key === \"salaries_non_owners\") {\n let youTotalCompensation = calcs['total_compensation'] && calcs['total_compensation'][i] ? calcs['total_compensation'][i] : 0\n let youSalariesDoctor = 0\n\n if (naicsCode && naicsCode.startsWith('6212')) {\n youSalariesDoctor = calcs['dentist'] && calcs['dentist'][i] ? calcs['dentist'][i] : 0\n } else if (naicsCode && doctorsNAICS.some(naics => naicsCode.startsWith(naics))) {\n youSalariesDoctor = calcs['total_compensation_doctor'] && calcs['total_compensation_doctor'][i] ? calcs['total_compensation_doctor'][i] : 0\n }\n\n youSum = youTotalCompensation - youSalariesDoctor\n } else {\n c.map_keys.forEach((mk) => {\n youSum += calcs[mk] && calcs[mk][i] ? calcs[mk][i] : 0\n })\n }\n })\n valuesArr[i - 1] = youSum\n }\n return valuesArr\n}\n\nconst MonthlyNAICSFocusedVals = (naicsCode, monthsAvailable, key, map_keys, allCalcs, rows) => {\n let valuesArr = []\n\n if (key === 'operating_expenses_net_income') {\n let totalDirectCosts = totalNAICSFocusedMonthly(naicsCode, monthsAvailable, 'total_direct_costs', allCalcs, rows)\n let totalAdminCosts = totalNAICSFocusedMonthly(naicsCode, monthsAvailable, 'total_administrative_costs', allCalcs, rows)\n\n valuesArr = totalDirectCosts.map((t, i) => {\n return allCalcs['total_revenue'] && allCalcs['total_revenue'][i + 1] ? allCalcs['total_revenue'][i + 1] - t - totalAdminCosts[i] : 0;\n })\n } else if (key === 'gross_profit') {\n let totalDirectCosts = totalNAICSFocusedMonthly(naicsCode, monthsAvailable, 'total_direct_costs', allCalcs, rows)\n\n valuesArr = totalDirectCosts.map((t, i) => {\n return allCalcs['total_revenue'] && allCalcs['total_revenue'][i + 1] ? allCalcs['total_revenue'][i + 1] - t : 0;\n })\n } else if (key === 'total_direct_costs' || key === 'total_administrative_costs') {\n valuesArr = totalNAICSFocusedMonthly(naicsCode, monthsAvailable, key, allCalcs, rows)\n } else {\n for (let i = 1; i < monthsAvailable + 1; i++) {\n let youSum = 0;\n map_keys.forEach(mk => {\n youSum += allCalcs[mk] && allCalcs[mk][i] ? allCalcs[mk][i] : 0\n })\n valuesArr[i - 1] = youSum\n }\n }\n\n return valuesArr;\n}\n\n// Monthly PNL and Balance Sheet Values\nconst MonthlyPNLandBalValues = (monthsAvailable, sheet, key, metricValues, allCalcs) => {\n let valuesArr = []\n const bsNetIncome = sheet == 'balance_sheet' && key == 'operating_expenses_net_income';\n const netWorth = sheet == 'balance_sheet' && key == 'net_worth'\n const totalLiabilitiesAndEquity = sheet == 'balance_sheet' & key == 'total_liabilities_and_equity'\n\n if (metricValues && valuesArr.length === 0) {\n monthArr.forEach((month, index) => {\n if (index < monthsAvailable) {\n let val = _.isNumber(metricValues[month]) ? metricValues[month] : 0;\n valuesArr.push(val)\n } else {\n valuesArr.push(null)\n }\n })\n }\n\n if (metricValues && bsNetIncome) {\n for (let i = 1; i < monthsAvailable + 1; i++) {\n if (i !== monthsAvailable) {\n valuesArr[i] += valuesArr[i - 1]\n }\n }\n }\n\n if (metricValues && netWorth) {\n let memory = 0\n for (let i = 1; i < monthsAvailable + 1; i++) {\n memory += allCalcs['operating_expenses_net_income'][i]\n valuesArr[i - 1] = memory + allCalcs['capital_stock'][i] + allCalcs['retained_earnings'][i] + allCalcs['owner_distributions'][i]\n }\n }\n\n if (metricValues && totalLiabilitiesAndEquity) {\n for (let i = 1; i < monthsAvailable + 1; i++) {\n valuesArr[i - 1] = allCalcs['total_assets'][i]\n }\n }\n\n return valuesArr;\n}\n\nconst MonthlyPNLandBalCommonSized = (sheet, metricValsArr, allCalcs) => {\n let commonSizedVal = null;\n if (sheet === 'pnl' || sheet === 'financial_detail' || sheet === 'kpi') {\n let filteredValues = metricValsArr.filter(val => _.isNumber(val));\n const reducedArray = filteredValues.reduce((a, b) => a + b, 0)\n if (_.isNumber(reducedArray)) {\n const totalRevenue = Object.values(allCalcs['total_revenue'] || {}).slice(0, filteredValues.length).reduce((a, b) => a + b, 0)\n commonSizedVal = reducedArray / totalRevenue\n }\n }\n if (sheet === 'balance_sheet') {\n let filteredValues = metricValsArr.filter(val => _.isNumber(val));\n const totalAssets = Object.values(allCalcs['total_assets'] || {}).slice(0, filteredValues.length).filter(val => _.isNumber(val))\n let numberOfValues = totalAssets.length;\n const totalAssetsValue = numberOfValues > 0 ? totalAssets[numberOfValues - 1] : null;\n if (_.isNumber(metricValsArr[0]) && _.isNumber(totalAssetsValue)) {\n let lastValue = numberOfValues > 0 ? metricValsArr[numberOfValues - 1] : null;\n commonSizedVal = lastValue / totalAssetsValue\n }\n }\n\n return commonSizedVal;\n}\n\nconst PreviousMonthMinusCurrentMonthAmount = (netIncome, currentYear, previousYear, ytdView = false) => {\n let prevMinusCurrent = {};\n for (let i = 1; i <= 12; i++) {\n if (netIncome && _.isNumber(netIncome[i])) {\n if (i === 1 && previousYear && currentYear) {\n prevMinusCurrent[i] = previousYear[12] - currentYear[1]\n } else if (currentYear) {\n prevMinusCurrent[i] = currentYear[i - 1] - currentYear[i]\n } else {\n prevMinusCurrent[i] = null\n }\n } else {\n prevMinusCurrent[i] = null\n }\n }\n\n if (ytdView) {\n prevMinusCurrent = Object.values(prevMinusCurrent).reduce((a, b) => a + b, 0);\n }\n\n return prevMinusCurrent\n}\n\nconst CurrentMonthMinusPreviousMonthAmount = (netIncome, currentYear, previousYear, ytdView = false) => {\n let currentMinusPrev = {}\n for (let i = 1; i <= 12; i++) {\n if (netIncome && _.isNumber(netIncome[i])) {\n if (i === 1 && previousYear && currentYear) {\n currentMinusPrev[i] = currentYear[1] - previousYear[12]\n } else if (currentYear) {\n currentMinusPrev[i] = currentYear[i] - currentYear[i - 1]\n } else {\n currentMinusPrev[i] = null\n }\n } else {\n currentMinusPrev[i] = null\n }\n }\n\n if (ytdView) {\n currentMinusPrev = Object.values(currentMinusPrev).reduce((a, b) => a + b, 0);\n }\n\n return currentMinusPrev\n}\n\nconst netOperatingActivitiesValuesMonths = (calcs, previousYearCalcs, ytdView = false) => {\n let netOperatingActivities = null;\n let netIncomeVals = calcs.operating_expenses_net_income;\n let deprAmorVals = calcs.depreciation_and_amortization;\n let accountsReceivable = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['accounts_receivable'], previousYearCalcs['accounts_receivable'], ytdView)\n let inventory = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['inventory'], previousYearCalcs['inventory'], ytdView)\n let underBillings = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['under_billings'], previousYearCalcs['under_billings'], ytdView)\n let prepaidAssets = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['prepaid_and_other_current_assets'], previousYearCalcs['prepaid_and_other_current_assets'], ytdView)\n let accountsPayable = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['accounts_payable'], previousYearCalcs['accounts_payable'], ytdView)\n let accruedLiabilities = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['accrued_liabilities'], previousYearCalcs['accrued_liabilities'], ytdView)\n let overBillings = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['over_billings'], previousYearCalcs['over_billings'], ytdView)\n let otherCurrentLiabilities = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['other_current_liabilities'], previousYearCalcs['other_current_liabilities'], ytdView)\n if (ytdView) {\n let netIncome = netIncomeVals ? Object.values(netIncomeVals).reduce((a, b) => a + b, 0) : 0;\n let deprAmor = deprAmorVals ? Object.values(deprAmorVals).reduce((a, b) => a + b, 0) : 0;\n\n netOperatingActivities = Math.round(netIncome + deprAmor +\n accountsReceivable +\n inventory +\n underBillings +\n prepaidAssets +\n accountsPayable +\n accruedLiabilities +\n overBillings +\n otherCurrentLiabilities)\n } else {\n netOperatingActivities = {}\n for (let i = 1; i <= 12; i++) {\n let netIncome = netIncomeVals && _.isNumber(netIncomeVals[i]) ? netIncomeVals[i] : null;\n let deprAmor = deprAmorVals && _.isNumber(deprAmorVals[i]) ? deprAmorVals[i] : null;\n\n netOperatingActivities[i] = Math.round(netIncome + deprAmor +\n accountsReceivable[i] +\n inventory[i] +\n underBillings[i] +\n prepaidAssets[i] +\n accountsPayable[i] +\n accruedLiabilities[i] +\n overBillings[i] +\n otherCurrentLiabilities[i])\n }\n }\n return netOperatingActivities;\n}\n\nconst netInvestingActivitiesMonths = (calcs, previousYearCalcs, ytdView = false) => {\n let netInvestingActivities = null;\n let netIncomeVals = calcs.operating_expenses_net_income;\n let propertyAndEquipment = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['property_and_equipment'], previousYearCalcs['property_and_equipment'], ytdView)\n let otherLongTermAssets = PreviousMonthMinusCurrentMonthAmount(netIncomeVals, calcs['other_long_term_assets'], previousYearCalcs['other_long_term_assets'], ytdView)\n if (ytdView) {\n netInvestingActivities = Math.round(propertyAndEquipment + otherLongTermAssets)\n } else {\n netInvestingActivities = {}\n for (let i = 1; i <= 12; i++) {\n netInvestingActivities[i] = Math.round(propertyAndEquipment[i] + otherLongTermAssets[i])\n }\n }\n return netInvestingActivities;\n}\n\nconst equityMonths = (calcs, previousYearCalcs, ytdView = false) => {\n let newEquity = {}\n let netIncomeVals = calcs.operating_expenses_net_income;\n let prevNetIncomeVals = previousYearCalcs.operating_expenses_net_income\n // Current month net worth - current month net income - previous month net worth\n // Need to go through last year's adding up previous month's operating_expenses_net_income for each net worth like balance sheet\n let currentYearNetWorth = {};\n let lastYearNetWorth = {};\n let currentMemory = 0;\n let lastMemory = 0;\n for (let i = 1; i <= 12; i++) {\n currentMemory += netIncomeVals && netIncomeVals[i] ? netIncomeVals[i] : 0;\n let capitalStock = calcs['capital_stock'] && _.isNumber(calcs['capital_stock'][i]) ? calcs['capital_stock'][i] : null;\n let retainedEarnings = calcs['retained_earnings'] && _.isNumber(calcs['retained_earnings'][i]) ? calcs['retained_earnings'][i] : null;\n let ownerDistributions = calcs['owner_distributions'] && _.isNumber(calcs['owner_distributions'][i]) ? calcs['owner_distributions'][i] : null;\n currentYearNetWorth[i] = netIncomeVals && netIncomeVals[i] === null ? null : currentMemory + capitalStock + retainedEarnings + ownerDistributions;\n\n lastMemory += prevNetIncomeVals && _.isNumber(prevNetIncomeVals[i]) ? prevNetIncomeVals[i] : 0;\n let prevCapitalStock = previousYearCalcs['capital_stock'] && _.isNumber(previousYearCalcs['capital_stock'][i]) ? previousYearCalcs['capital_stock'][i] : null;\n let prevRetainedEarnings = previousYearCalcs['retained_earnings'] && _.isNumber(previousYearCalcs['retained_earnings'][i]) ? previousYearCalcs['retained_earnings'][i] : null;\n let prevOwnerDistributions = previousYearCalcs['owner_distributions'] && _.isNumber(previousYearCalcs['owner_distributions'][i]) ? previousYearCalcs['owner_distributions'][i] : null;\n lastYearNetWorth[i] = prevNetIncomeVals && _.isNumber(prevNetIncomeVals[i]) === null ? null : lastMemory + prevCapitalStock + prevRetainedEarnings + prevOwnerDistributions;\n }\n for (let i = 1; i <= 12; i++) {\n if (i === 1) {\n let currentNetWorth = currentYearNetWorth && _.isNumber(currentYearNetWorth[1]) ? currentYearNetWorth[1] : null;\n let netIncome = netIncomeVals && _.isNumber(netIncomeVals[1]) ? netIncomeVals[1] : null;\n let lastNetWorth = lastYearNetWorth && _.isNumber(lastYearNetWorth[12]) ? lastYearNetWorth[12] : null;\n newEquity[1] = netIncome === null ? null : currentNetWorth - netIncome - lastNetWorth;\n } else {\n let currentNetWorth = currentYearNetWorth && _.isNumber(currentYearNetWorth[i]) ? currentYearNetWorth[i] : null;\n let netIncome = netIncomeVals && _.isNumber(netIncomeVals[i]) ? netIncomeVals[i] : null;\n let lastNetWorth = currentYearNetWorth && _.isNumber(currentYearNetWorth[i - 1]) ? currentYearNetWorth[i - 1] : null;\n newEquity[i] = netIncome === null ? null : currentNetWorth - netIncome - lastNetWorth;\n }\n }\n if (ytdView) {\n newEquity = Object.values(newEquity).reduce((a, b) => a + b, 0)\n }\n return newEquity;\n}\n\nconst netFinancingActivitiesValuesMonths = (calcs, previousYearCalcs, ytdView = false) => {\n let netFinancingActivities = null;\n let netIncomeVals = calcs.operating_expenses_net_income;\n let lineOfCredit = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['line_of_credit'], previousYearCalcs['line_of_credit'], ytdView)\n let currentPortionOfLTD = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['current_portion_of_ltd'], previousYearCalcs['current_portion_of_ltd'], ytdView)\n let longTermDebt = CurrentMonthMinusPreviousMonthAmount(netIncomeVals, calcs['long_term_debt'], previousYearCalcs['long_term_debt'], ytdView)\n let equity = equityMonths(calcs, previousYearCalcs, ytdView);\n if (ytdView) {\n netFinancingActivities = Math.round(lineOfCredit + currentPortionOfLTD + longTermDebt + equity)\n } else {\n netFinancingActivities = {}\n for (let i = 1; i <= 12; i++) {\n netFinancingActivities[i] = Math.round(lineOfCredit[i] +\n currentPortionOfLTD[i] +\n longTermDebt[i] +\n equity[i])\n }\n }\n return netFinancingActivities;\n}\n\nconst netChangeInCashValuesMonths = (netOperatingActivities, netInvestingActivities, netFinancingActivities) => {\n const netChangeInCash = {}\n for (let i = 1; i <= 12; i++) {\n netChangeInCash[i] = netOperatingActivities[i] + netInvestingActivities[i] + netFinancingActivities[i]\n }\n return netChangeInCash;\n}\n\nconst beginCashPeriodMonths = (calcs, previousYearCalcs) => {\n const cashAtBeginning = {}\n let checkPreviousYearExists = Object.keys(previousYearCalcs);\n cashAtBeginning[1] = checkPreviousYearExists.length > 0 ? previousYearCalcs.cash[12] : null;\n for (let i = 2; i <= 12; i++) {\n // Don't want to show beginning cash for months that we don't have data for\n if (calcs.cash && [i] === null || calcs.cash && calcs.cash[i] === undefined) {\n cashAtBeginning[i] = null;\n } else {\n cashAtBeginning[i] = calcs.cash ? calcs.cash[i - 1] : null;\n }\n }\n return cashAtBeginning;\n}\n\n// YTD MonthlyCashFlowValues\nconst YTDCashFlowValues = (key, calcs, prevYearCalcs, compareCalcs, prevYearCompareCalcs) => {\n let getNormalYearKeys = ['operating_expenses_net_income', 'depreciation_and_amortization']\n let previousYearFirstKeys = ['accounts_receivable', 'inventory', 'under_billings', 'prepaid_and_other_current_assets', 'property_and_equipment', 'other_long_term_assets']\n let nextYearFirstKeys = ['accounts_payable', 'accrued_liabilities', 'over_billings', 'other_current_liabilities', 'line_of_credit', 'current_portion_of_ltd', 'long_term_debt']\n let youValue = null;\n let compareValue = null;\n if (previousYearFirstKeys.includes(key)) {\n let netIncome = calcs.operating_expenses_net_income;\n youValue = PreviousMonthMinusCurrentMonthAmount(netIncome, calcs[key], prevYearCalcs[key], true)\n if (compareCalcs) { compareValue = PreviousMonthMinusCurrentMonthAmount(netIncome, compareCalcs[key], prevYearCompareCalcs[key], true) }\n } else if (nextYearFirstKeys.includes(key)) {\n let netIncome = calcs.operating_expenses_net_income;\n youValue = CurrentMonthMinusPreviousMonthAmount(netIncome, calcs[key], prevYearCalcs[key], true)\n if (compareCalcs) { compareValue = CurrentMonthMinusPreviousMonthAmount(netIncome, compareCalcs[key], prevYearCompareCalcs[key], true) }\n } else if (getNormalYearKeys.includes(key)) {\n youValue = calcs.hasOwnProperty(key) ? Object.values(calcs[key]).reduce((a, b) => a + b, 0) : 0;\n if (compareCalcs) { compareValue = compareCalcs.hasOwnProperty(key) ? Object.values(compareCalcs[key]).reduce((a, b) => a + b, 0) : 0 }\n } else if (key === 'net_operating_activities') {\n youValue = netOperatingActivitiesValuesMonths(calcs, prevYearCalcs, true)\n if (compareCalcs) { compareValue = netOperatingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs, true) }\n } else if (key === 'net_investing_activities') {\n youValue = netInvestingActivitiesMonths(calcs, prevYearCalcs, true)\n if (compareCalcs) { compareValue = netInvestingActivitiesMonths(compareCalcs, prevYearCompareCalcs, true) }\n } else if (key === 'equity') {\n youValue = equityMonths(calcs, prevYearCalcs, true)\n if (compareCalcs) { compareValue = equityMonths(compareCalcs, prevYearCompareCalcs, true) }\n } else if (key === 'net_financing_activities') {\n youValue = netFinancingActivitiesValuesMonths(calcs, prevYearCalcs, true)\n if (compareCalcs) { compareValue = netFinancingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs, true) }\n } else if (key === 'net_change_cash') {\n let netOperatingActivities = netOperatingActivitiesValuesMonths(calcs, prevYearCalcs, true)\n let netInvestingActivities = netInvestingActivitiesMonths(calcs, prevYearCalcs, true)\n let netFinancingActivities = netFinancingActivitiesValuesMonths(calcs, prevYearCalcs, true)\n youValue = Math.round(netOperatingActivities + netInvestingActivities + netFinancingActivities, true)\n if (compareCalcs) {\n let netOperatingActivitiesCompare = netOperatingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs, true)\n let netInvestingActivitiesCompare = netInvestingActivitiesMonths(compareCalcs, prevYearCompareCalcs, true)\n let netFinancingActivitiesCompare = netFinancingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs, true)\n compareValue = Math.round(netOperatingActivitiesCompare + netInvestingActivitiesCompare + netFinancingActivitiesCompare)\n }\n } else if (key === 'cash_beginning_period') {\n youValue = _.isNumber(prevYearCalcs.cash[12]) ? prevYearCalcs.cash[12] : null;\n if (compareCalcs) { compareValue = prevYearCompareCalcs.cash && _.isNumber(prevYearCompareCalcs.cash[12]) ? prevYearCompareCalcs.cash[12] : null }\n } else if (key === 'cash_end_period') {\n if (Object.keys(calcs).length !== 0) {\n let getAllCashVals = Object.values(calcs.cash);\n let indexOfNullValue = getAllCashVals.indexOf(null);\n let endCashYou = indexOfNullValue >= 0 ? getAllCashVals[indexOfNullValue - 1] : getAllCashVals[getAllCashVals.length - 1];\n youValue = endCashYou;\n\n if (compareCalcs) {\n let getAllCashValsCompare = compareCalcs.cash ? Object.values(compareCalcs.cash) : [];\n let indexOfNullValueCompare = getAllCashValsCompare.indexOf(null);\n let endCashCompare = indexOfNullValue >= 0 ? getAllCashValsCompare[indexOfNullValue - 1] : getAllCashValsCompare[getAllCashValsCompare.length - 1];\n compareValue = endCashCompare;\n }\n }\n }\n return { youValue, compareValue }\n}\n\n// Monthly Cash Flow Values\nconst MonthlyCashFlowValues = (key, calcs, prevYearCalcs, compareCalcs, prevYearCompareCalcs) => {\n let getNormalYearKeys = ['operating_expenses_net_income', 'depreciation_and_amortization']\n let previousYearFirstKeys = ['accounts_receivable', 'inventory', 'under_billings', 'prepaid_and_other_current_assets', 'property_and_equipment', 'other_long_term_assets']\n let nextYearFirstKeys = ['accounts_payable', 'accrued_liabilities', 'over_billings', 'other_current_liabilities', 'line_of_credit', 'current_portion_of_ltd', 'long_term_debt']\n let youValues = null;\n let compareValues = null;\n let returnObj = null;\n if (previousYearFirstKeys.includes(key)) {\n let netIncome = calcs.operating_expenses_net_income;\n youValues = PreviousMonthMinusCurrentMonthAmount(netIncome, calcs[key], prevYearCalcs[key])\n if (compareCalcs) { compareValues = PreviousMonthMinusCurrentMonthAmount(netIncome, compareCalcs[key], prevYearCompareCalcs[key]) }\n } else if (nextYearFirstKeys.includes(key)) {\n let netIncome = calcs.operating_expenses_net_income;\n youValues = CurrentMonthMinusPreviousMonthAmount(netIncome, calcs[key], prevYearCalcs[key])\n if (compareCalcs) { compareValues = CurrentMonthMinusPreviousMonthAmount(netIncome, compareCalcs[key], prevYearCompareCalcs[key]) }\n } else if (getNormalYearKeys.includes(key)) {\n youValues = calcs[key]\n if (compareCalcs) { compareValues = compareCalcs[key] }\n } else if (key === 'net_operating_activities') {\n youValues = netOperatingActivitiesValuesMonths(calcs, prevYearCalcs)\n if (compareCalcs) { compareValues = netOperatingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs) }\n } else if (key === 'net_investing_activities') {\n youValues = netInvestingActivitiesMonths(calcs, prevYearCalcs)\n if (compareCalcs) { compareValues = netInvestingActivitiesMonths(compareCalcs, prevYearCompareCalcs) }\n } else if (key === 'equity') {\n youValues = equityMonths(calcs, prevYearCalcs)\n if (compareCalcs) { compareValues = equityMonths(compareCalcs, prevYearCompareCalcs) }\n } else if (key === 'net_financing_activities') {\n youValues = netFinancingActivitiesValuesMonths(calcs, prevYearCalcs)\n if (compareCalcs) { compareValues = netFinancingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs) }\n } else if (key === 'net_change_cash') {\n let netOperatingActivities = netOperatingActivitiesValuesMonths(calcs, prevYearCalcs)\n let netInvestingActivities = netInvestingActivitiesMonths(calcs, prevYearCalcs)\n let netFinancingActivities = netFinancingActivitiesValuesMonths(calcs, prevYearCalcs)\n youValues = netChangeInCashValuesMonths(netOperatingActivities, netInvestingActivities, netFinancingActivities)\n if (compareCalcs) {\n let netOperatingActivitiesCompare = netOperatingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs)\n let netInvestingActivitiesCompare = netInvestingActivitiesMonths(compareCalcs, prevYearCompareCalcs)\n let netFinancingActivitiesCompare = netFinancingActivitiesValuesMonths(compareCalcs, prevYearCompareCalcs)\n compareValues = netChangeInCashValuesMonths(netOperatingActivitiesCompare, netInvestingActivitiesCompare, netFinancingActivitiesCompare)\n }\n } else if (key === 'cash_beginning_period') {\n youValues = beginCashPeriodMonths(calcs, prevYearCalcs)\n if (compareCalcs) { compareValues = beginCashPeriodMonths(compareCalcs, prevYearCompareCalcs) }\n } else if (key === 'cash_end_period') {\n youValues = calcs.cash;\n if (compareCalcs) { compareValues = compareCalcs.cash }\n }\n return { youValues, compareValues };\n}\n\n// Annual Cash Flow Values\nconst CashFlowCommonSizeArrows = (you, compare, key) => {\n // Common sized values\n let youVal = you * 100\n let compareVal = compare * 100\n const goodUpArrowKeys = ['operating_expenses_net_income', 'under_billings', 'prepaid_and_other_current_assets', 'property_and_equipment', 'other_long_term_assets', 'net_operating_activities', 'net_investing_activities', 'net_financing_activities', 'net_change_cash', 'cash', 'operating_cash_flow', 'capital_expenditure', 'free_cash_flow', 'equity'];\n let keyIsGoodUp = goodUpArrowKeys.includes(key)\n let rangeWorst = compareVal - 10;\n let rangeWorse = compareVal - 5\n let rangeBetter = compareVal + 5\n let rangeBest = compareVal + 10;\n\n if (rangeWorse < youVal && youVal < rangeBetter) {\n return 'maintain';\n } else if (rangeWorst < youVal && youVal < rangeWorse) {\n return keyIsGoodUp ? 'worse' : 'better';\n } else if (youVal < rangeWorst) {\n return keyIsGoodUp ? 'worst' : 'best';\n } else if (rangeBest > youVal && youVal > rangeBetter) {\n return keyIsGoodUp ? 'better' : 'worse';\n } else if (youVal > rangeBest) {\n return keyIsGoodUp ? 'best' : 'worst';\n } else {\n return 'n/a';\n }\n}\n\nconst CashFlowYearAmounts = (years, you, avg, metric, subtract = '') => {\n const returnObject = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n let metricFinal = metric === 'cash_beginning_period' || metric === 'cash_end_period' ? 'cash' : metric;\n\n years.forEach((year) => {\n if (_.isNumber(you.operating_expenses_net_income[year]) && you[metricFinal]) {\n // Check if previous year outside of yearRange exists\n let youPrevVal = you[metricFinal] && _.isNumber(you[metricFinal][year - 1]) ? you[metricFinal][year - 1] : 0;\n let youCurrentVal = you[metricFinal] && _.isNumber(you[metricFinal][year]) ? you[metricFinal][year] : 0;\n if (years.indexOf(year) === 0 && subtract) {\n if (you[metricFinal][year - 1] !== null && subtract === 'previousYearMinusNextYear') {\n returnObject[year] = youPrevVal - youCurrentVal\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n } else if (you[metricFinal][year - 1] !== null && subtract === 'nextYearMinusPreviousYear') {\n returnObject[year] = youCurrentVal - youPrevVal\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n } else {\n returnObject[year] = null\n returnObject['you' + year] = null\n }\n } else if (subtract === 'previousYearMinusNextYear') {\n returnObject[year] = youPrevVal - youCurrentVal\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n } else if (subtract === 'nextYearMinusPreviousYear') {\n returnObject[year] = youCurrentVal - youPrevVal\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n } else {\n returnObject[year] = you[metricFinal][year]\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n }\n } else {\n returnObject[year] = null\n returnObject['you' + year] = null\n }\n\n if (avgExists && _.isNumber(avg.operating_expenses_net_income[year])) {\n let avgPrevVal = avg[metricFinal] && _.isNumber(avg[metricFinal][year - 1]) ? avg[metricFinal][year - 1] : 0\n let avgCurrentVal = avg[metricFinal] && _.isNumber(avg[metricFinal][year]) ? avg[metricFinal][year] : 0\n // Check if previous year outside of yearRange exists\n if (years.indexOf(year) === 0 && subtract) {\n if (avg[metricFinal][year - 1] !== null && subtract === 'previousYearMinusNextYear') {\n returnObject['avgVal' + year] = avgPrevVal - avgCurrentVal\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n } else if (avg[metricFinal][year - 1] !== null && subtract === 'nextYearMinusPreviousYear') {\n returnObject['avgVal' + year] = avgCurrentVal - avgPrevVal\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n } else {\n returnObject['avgVal' + year] = null\n returnObject['avg' + year] = null\n }\n } else if (subtract === 'previousYearMinusNextYear') {\n returnObject['avgVal' + year] = avgPrevVal - avgCurrentVal\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n } else if (subtract === 'nextYearMinusPreviousYear') {\n returnObject['avgVal' + year] = avgCurrentVal - avgPrevVal\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n } else {\n returnObject['avgVal' + year] = avg[metricFinal][year]\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n }\n } else {\n returnObject['avgVal' + year] = null\n returnObject['avg' + year] = null\n }\n\n if (returnObject['you' + year] !== null && returnObject['avg' + year] !== null) {\n returnObject['status' + year] = CashFlowCommonSizeArrows(returnObject['you' + year], returnObject['avg' + year], metricFinal)\n } else {\n returnObject['status' + year] = 'n/a'\n }\n })\n return returnObject\n}\n\nconst netOperatingActivitiesValues = (years, you, avg) => {\n const netOperatingActivities = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n let netIncome = CashFlowYearAmounts(years, you, avg, 'operating_expenses_net_income')\n let deprAmor = CashFlowYearAmounts(years, you, avg, 'depreciation_and_amortization')\n let accountsReceivable = CashFlowYearAmounts(years, you, avg, 'accounts_receivable', 'previousYearMinusNextYear')\n let inventory = CashFlowYearAmounts(years, you, avg, 'inventory', 'previousYearMinusNextYear')\n let underBillings = CashFlowYearAmounts(years, you, avg, 'under_billings', 'previousYearMinusNextYear')\n let prepaidOtherCurrentAssets = CashFlowYearAmounts(years, you, avg, 'prepaid_and_other_current_assets', 'previousYearMinusNextYear')\n let accountsPayable = CashFlowYearAmounts(years, you, avg, 'accounts_payable', 'nextYearMinusPreviousYear')\n let accruedLiabilities = CashFlowYearAmounts(years, you, avg, 'accrued_liabilities', 'nextYearMinusPreviousYear')\n let overBillings = CashFlowYearAmounts(years, you, avg, 'over_billings', 'nextYearMinusPreviousYear')\n let otherCurrentLiabilities = CashFlowYearAmounts(years, you, avg, 'other_current_liabilities', 'nextYearMinusPreviousYear')\n\n years.forEach((year) => {\n if (!netIncome[year] && !deprAmor[year] && !accountsReceivable[year] && !inventory[year] && !underBillings[year] && !prepaidOtherCurrentAssets[year] && !accountsPayable[year] && !accruedLiabilities[year] && !overBillings[year] && !otherCurrentLiabilities[year]) {\n netOperatingActivities[year] = null\n } else {\n netOperatingActivities[year] = Math.round(netIncome[year] + deprAmor[year] + accountsReceivable[year] + inventory[year] + underBillings[year] + prepaidOtherCurrentAssets[year] + accountsPayable[year] + accruedLiabilities[year] + overBillings[year] + otherCurrentLiabilities[year])\n netOperatingActivities['you' + year] = (netOperatingActivities[year] / youTotalRevenue[year])\n }\n\n if (!netIncome['avgVal' + year] && !deprAmor['avgVal' + year] && !accountsReceivable['avgVal' + year] && !inventory['avgVal' + year] && !underBillings['avgVal' + year] && !prepaidOtherCurrentAssets['avgVal' + year] && !accountsPayable['avgVal' + year] && !accruedLiabilities['avgVal' + year] && !overBillings['avgVal' + year] && !otherCurrentLiabilities['avgVal' + year]) {\n netOperatingActivities['avgVal' + year] = null\n } else {\n netOperatingActivities['avgVal' + year] = Math.round(netIncome['avgVal' + year] + deprAmor['avgVal' + year] + accountsReceivable['avgVal' + year] + inventory['avgVal' + year] + underBillings['avgVal' + year] + prepaidOtherCurrentAssets['avgVal' + year] + accountsPayable['avgVal' + year] + accruedLiabilities['avgVal' + year] + overBillings['avgVal' + year] + otherCurrentLiabilities['avgVal' + year])\n netOperatingActivities['avg' + year] = (netOperatingActivities['avgVal' + year] / avgTotalRevenue[year])\n }\n\n if (netOperatingActivities['you' + year] !== null && netOperatingActivities['avg' + year] !== null) {\n netOperatingActivities['status' + year] = CashFlowCommonSizeArrows(netOperatingActivities['you' + year], netOperatingActivities['avg' + year], 'net_operating_activities')\n } else {\n netOperatingActivities['status' + year] = 'n/a'\n }\n })\n return netOperatingActivities\n}\n\nconst netInvestingActivitiesValues = (years, you, avg) => {\n const netInvestingActivities = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n let propEquip = CashFlowYearAmounts(years, you, avg, 'property_and_equipment', 'previousYearMinusNextYear')\n let otherLongTermAssets = CashFlowYearAmounts(years, you, avg, 'other_long_term_assets', 'previousYearMinusNextYear')\n years.forEach((year) => {\n if (propEquip[year] === null && otherLongTermAssets[year] === null) {\n netInvestingActivities[year] = null\n } else {\n netInvestingActivities[year] = Math.round(propEquip[year] + otherLongTermAssets[year])\n netInvestingActivities['you' + year] = (netInvestingActivities[year] / youTotalRevenue[year])\n }\n if (propEquip['avgVal' + year] === null && otherLongTermAssets['avgVal' + year] === null) {\n netInvestingActivities['avgVal' + year] = null\n } else {\n netInvestingActivities['avgVal' + year] = Math.round(propEquip['avgVal' + year] + otherLongTermAssets['avgVal' + year])\n netInvestingActivities['avg' + year] = (netInvestingActivities['avgVal' + year] / avgTotalRevenue[year])\n }\n\n if (netInvestingActivities['you' + year] !== null && netInvestingActivities['avg' + year] !== null) {\n netInvestingActivities['status' + year] = CashFlowCommonSizeArrows(netInvestingActivities['you' + year], netInvestingActivities['avg' + year], 'net_investing_activities')\n } else {\n netInvestingActivities['status' + year] = 'n/a'\n }\n })\n return netInvestingActivities\n}\n\nconst netFinancingActivitiesValues = (years, you, avg) => {\n const netFinancingActivities = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n let lineOfCredit = CashFlowYearAmounts(years, you, avg, 'line_of_credit', 'nextYearMinusPreviousYear')\n let currentPortionOfLTD = CashFlowYearAmounts(years, you, avg, 'current_portion_of_ltd', 'nextYearMinusPreviousYear')\n let longTermDebt = CashFlowYearAmounts(years, you, avg, 'long_term_debt', 'nextYearMinusPreviousYear')\n let equity = createEquity(years, you, avg)\n years.forEach((year) => {\n if (lineOfCredit[year] === null && currentPortionOfLTD[year] === null && longTermDebt[year] === null && equity[year] === null) {\n netFinancingActivities[year] = null\n } else {\n netFinancingActivities[year] = Math.round(lineOfCredit[year] + currentPortionOfLTD[year] + longTermDebt[year] + equity[year])\n netFinancingActivities['you' + year] = (netFinancingActivities[year] / youTotalRevenue[year])\n }\n\n if (lineOfCredit['avgVal' + year] === null && currentPortionOfLTD['avgVal' + year] === null && longTermDebt['avgVal' + year] === null && equity['avgVal' + year] === null) {\n netFinancingActivities['avgVal' + year] = null\n } else {\n netFinancingActivities['avgVal' + year] = Math.round(lineOfCredit['avgVal' + year] + currentPortionOfLTD['avgVal' + year] + longTermDebt['avgVal' + year] + equity['avgVal' + year])\n netFinancingActivities['avg' + year] = (netFinancingActivities['avgVal' + year] / avgTotalRevenue[year])\n }\n\n if (netFinancingActivities['you' + year] !== null && netFinancingActivities['avg' + year] !== null) {\n netFinancingActivities['status' + year] = CashFlowCommonSizeArrows(netFinancingActivities['you' + year], netFinancingActivities['avg' + year], 'net_financing_activities')\n } else {\n netFinancingActivities['status' + year] = 'n/a'\n }\n })\n\n return netFinancingActivities\n}\n\nconst netChangeInCashValues = (years, you, avg, netOperatingActivities, netInvestingActivities, netFinancingActivities) => {\n const netChangeInCash = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n years.forEach((year) => {\n if (netOperatingActivities[year] === null && netInvestingActivities[year] === null && netFinancingActivities[year] === null) {\n netChangeInCash[year] = null\n } else {\n netChangeInCash[year] = netOperatingActivities[year] + netInvestingActivities[year] + netFinancingActivities[year]\n netChangeInCash['you' + year] = (netChangeInCash[year] / youTotalRevenue[year])\n }\n\n if (netOperatingActivities['avgVal' + year] === null && netInvestingActivities['avgVal' + year] === null && netFinancingActivities['avgVal' + year] === null) {\n netChangeInCash['avgVal' + year] = null\n } else {\n netChangeInCash['avgVal' + year] = netOperatingActivities['avgVal' + year] + netInvestingActivities['avgVal' + year] + netFinancingActivities['avgVal' + year]\n netChangeInCash['avg' + year] = (netChangeInCash['avgVal' + year] / avgTotalRevenue[year])\n }\n\n if (netChangeInCash['you' + year] !== null && netChangeInCash['avg' + year] !== null) {\n netChangeInCash['status' + year] = CashFlowCommonSizeArrows(netChangeInCash['you' + year], netChangeInCash['avg' + year], 'net_change_cash')\n } else {\n netChangeInCash['status' + year] = 'n/a'\n }\n })\n\n return netChangeInCash\n}\n\nconst createEquity = (years, you, avg) => {\n const returnObject = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n years.forEach(year => {\n if (you['operating_expenses_net_income'][year] !== null && you['net_worth'][year] !== null) {\n if (you['net_worth'][year - 1] !== null) {\n returnObject[year] = you['net_worth'][year] - you['operating_expenses_net_income'][year] - you['net_worth'][year - 1]\n returnObject['you' + year] = (returnObject[year] / youTotalRevenue[year])\n } else {\n returnObject[year] = null\n returnObject['you' + year] = null\n }\n } else {\n returnObject[year] = null\n }\n\n if (avgExists && you['operating_expenses_net_income'][year] !== null && you['net_worth'][year] !== null) {\n if (avg['net_worth'][year - 1] !== null) {\n returnObject['avgVal' + year] = avg['net_worth'][year] - avg['operating_expenses_net_income'][year] - avg['net_worth'][year - 1]\n returnObject['avg' + year] = (returnObject['avgVal' + year] / avgTotalRevenue[year])\n } else {\n returnObject['avgVal' + year] = null\n returnObject['avg' + year] = null\n }\n } else {\n returnObject['avgVal' + year] = null\n }\n\n if (returnObject['you' + year] !== null && returnObject['avg' + year] !== null) {\n returnObject['status' + year] = CashFlowCommonSizeArrows(returnObject['you' + year], returnObject['avg' + year], 'equity')\n } else {\n returnObject['status' + year] = 'n/a'\n }\n })\n return returnObject\n}\n\nconst createBeginCashPeriod = (years, you, avg) => {\n const cashAtBeginning = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTotalRevenue = you['total_revenue']\n const avgTotalRevenue = avgExists ? avg['total_revenue'] : null;\n years.forEach((year) => {\n // Don't want to show beginning cash for previous year outside of yearRange that we don't have data for\n if (years.indexOf(year) === 0) {\n if (you.cash[year - 1] !== null) {\n cashAtBeginning[year] = you.cash[year - 1]\n cashAtBeginning['you' + year] = (cashAtBeginning[year] / youTotalRevenue[year])\n } else {\n cashAtBeginning[year] = null\n cashAtBeginning['you' + year] = null\n }\n\n if (avgExists && avg.cash[year - 1] !== null) {\n cashAtBeginning['avgVal' + year] = avg.cash[year - 1]\n cashAtBeginning['avg' + year] = (cashAtBeginning['avgVal' + year] / avgTotalRevenue[year])\n } else {\n cashAtBeginning['avgVal' + year] = null\n cashAtBeginning['avg' + year] = null\n }\n } else {\n cashAtBeginning[year] = you.cash[year - 1]\n cashAtBeginning['avgVal' + year] = avgExists ? avg.cash[year - 1] : null;\n cashAtBeginning['you' + year] = (cashAtBeginning[year] / youTotalRevenue[year])\n cashAtBeginning['avg' + year] = avgExists ? (cashAtBeginning['avgVal' + year] / avgTotalRevenue[year]) : null;\n }\n\n if (cashAtBeginning['you' + year] !== null && cashAtBeginning['avg' + year] !== null) {\n cashAtBeginning['status' + year] = CashFlowCommonSizeArrows(cashAtBeginning['you' + year], cashAtBeginning['avg' + year], 'cash')\n } else {\n cashAtBeginning['status' + year] = 'n/a'\n }\n })\n return cashAtBeginning;\n}\n\nconst freeCashFlowValues = (years, you, avg, operatingCashFlow) => {\n // Capital Expenditure uses same percentages from Property & Equipment\n const freeCashFlow = {}\n let capitalExpenditure = CashFlowYearAmounts(years, you, avg, 'property_and_equipment', 'previousYearMinusNextYear')\n years.forEach((year) => {\n freeCashFlow['you' + year] = capitalExpenditure['you' + year] + operatingCashFlow['you' + year]\n freeCashFlow['avg' + year] = avg ? capitalExpenditure['avg' + year] + operatingCashFlow['avg' + year] : null\n if (freeCashFlow['you' + year] !== null && freeCashFlow['avg' + year] !== null) {\n freeCashFlow['status' + year] = CashFlowCommonSizeArrows(freeCashFlow['you' + year], freeCashFlow['avg' + year], 'free_cash_flow')\n } else {\n freeCashFlow['status' + year] = 'n/a'\n }\n })\n return freeCashFlow\n}\n\nconst AnnualCashFlowValues = (calcs, calcsAvgType, years, key) => {\n const you = calcs.you;\n const avg = calcsAvgType ? calcs[calcsAvgType] : null;\n let row;\n let getNormalYearKeys = ['operating_expenses_net_income', 'depreciation_and_amortization']\n let previousYearFirstKeys = ['accounts_receivable', 'inventory', 'under_billings', 'prepaid_and_other_current_assets', 'property_and_equipment', 'other_long_term_assets', 'capital_expenditure']\n let nextYearFirstKeys = ['accounts_payable', 'accrued_liabilities', 'over_billings', 'other_current_liabilities', 'line_of_credit', 'current_portion_of_ltd', 'long_term_debt']\n\n if (previousYearFirstKeys.includes(key)) {\n // no values for capital expenditure but it is the same as property and equipment\n if (key === 'capital_expenditure') {\n row = CashFlowYearAmounts(years, you, avg, 'property_and_equipment', 'previousYearMinusNextYear')\n } else {\n row = CashFlowYearAmounts(years, you, avg, key, 'previousYearMinusNextYear')\n }\n } else if (nextYearFirstKeys.includes(key)) {\n row = CashFlowYearAmounts(years, you, avg, key, 'nextYearMinusPreviousYear')\n } else if (getNormalYearKeys.includes(key) || key === 'cash_end_period') {\n row = CashFlowYearAmounts(years, you, avg, key)\n } else if (key === 'net_operating_activities' || key === 'operating_cash_flow') {\n row = netOperatingActivitiesValues(years, you, avg)\n } else if (key === 'net_investing_activities') {\n row = netInvestingActivitiesValues(years, you, avg)\n } else if (key === 'equity') {\n row = createEquity(years, you, avg)\n } else if (key === 'net_financing_activities') {\n row = netFinancingActivitiesValues(years, you, avg)\n } else if (key === 'net_change_cash') {\n let netOperatingActivities = netOperatingActivitiesValues(years, you, avg)\n let netInvestingActivities = netInvestingActivitiesValues(years, you, avg)\n let netFinancingActivities = netFinancingActivitiesValues(years, you, avg)\n row = netChangeInCashValues(years, you, avg, netOperatingActivities, netInvestingActivities, netFinancingActivities)\n } else if (key === 'cash_beginning_period') {\n row = createBeginCashPeriod(years, you, avg)\n } else if (key === 'free_cash_flow') {\n let operatingCashFlow = netOperatingActivitiesValues(years, you, avg)\n row = freeCashFlowValues(years, you, avg, operatingCashFlow)\n }\n return row;\n}\n\n// Annual KFI's\nconst KFIsCommonSizeArrows = (you, avg, key, parentKey) => {\n let youVal = you\n let avgVal = avg\n let rangeWorst, rangeWorse, rangeBetter, rangeBest;\n const percentKeys = ['total_revenue_growth_rate', 'cash_flow_margin', 'roa', 'roe', 'roce', 'gross_profit', 'operating_profit', 'net_profit', 'gross_profit_common_size_revenue', 'operating_profit_common_size_revenue', 'operating_expenses_net_income_common_size_revenue']\n if (percentKeys.includes(key) && youVal) {\n youVal = you * 100\n }\n if (percentKeys.includes(key) && avgVal) {\n avgVal = avg * 100\n }\n // Only ar_days, inventory_turnover_ratio, debt_to_equity are good with lower values than peers avg\n const goodDownArrowKeys = ['debt_ratio', 'ar_days', 'inventory_turnover_ratio', 'debt_to_equity', 'maintenace_per_golf_hole'];\n const keyIsGoodDown = goodDownArrowKeys.includes(key);\n const ignoreArrowKeys = ['ebitda'];\n if (ignoreArrowKeys.includes(key) || ignoreArrowKeys.includes(parentKey) || !youVal || !avgVal) {\n return 'maintain'\n }\n\n if (key === 'debt_to_equity' && youVal < 0) {\n return 'worse'\n }\n\n if (!percentKeys.includes(key) && avgVal) {\n let fivePercent = avgVal * 0.05\n let tenPercent = avgVal * 0.1\n rangeWorst = avgVal - tenPercent;\n rangeWorse = avgVal - fivePercent;\n rangeBetter = avgVal + fivePercent;\n rangeBest = avgVal + tenPercent;\n } else {\n rangeWorst = avgVal - 10;\n rangeWorse = avgVal - 5;\n rangeBetter = avgVal + 5;\n rangeBest = avgVal + 10;\n }\n\n if (rangeWorse < youVal && youVal < rangeBetter) {\n return 'maintain'\n } else if (rangeWorst < youVal && youVal < rangeWorse) {\n return keyIsGoodDown ? 'better' : 'worse'\n } else if (youVal < rangeWorst) {\n return keyIsGoodDown ? 'best' : 'worst'\n } else if (rangeBest > youVal && youVal > rangeBetter) {\n return keyIsGoodDown ? 'worse' : 'better'\n } else if (youVal > rangeBest) {\n return keyIsGoodDown ? 'worst' : 'best'\n } else {\n return 'n/a'\n }\n}\n\nconst calculateNetWorkingCapitalYears = (years, you, avg) => {\n const returnObject = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n // Need to common size compare with you total_assets\n const youTotalAssets = you['total_assets'];\n const youTotalCurrentAssets = you['total_current_assets'];\n const youTotalCurrentLiabilities = you['total_current_liabilities'];\n const avgTotalCurrentAssetsCommonSize = avgExists ? avg['total_current_assets_common_size_assets'] : null;\n const avgTotalCurrentLiabilitiesCommonSize = avgExists ? avg['total_current_liabilities_common_size_assets'] : null;\n years.forEach((y) => {\n if (_.isNumber(youTotalCurrentAssets[y]) && _.isNumber(youTotalCurrentLiabilities[y])) {\n returnObject[y] = youTotalCurrentAssets[y] - youTotalCurrentLiabilities[y];\n } else {\n returnObject[y] = null;\n }\n\n if (avgExists && _.isNumber(avgTotalCurrentAssetsCommonSize[y]) && _.isNumber(avgTotalCurrentLiabilitiesCommonSize[y])) {\n returnObject['avg' + y] = (avgTotalCurrentAssetsCommonSize[y] * youTotalAssets[y]) - (avgTotalCurrentLiabilitiesCommonSize[y] * youTotalAssets[y]);\n } else {\n returnObject['avg' + y] = null;\n }\n\n returnObject['status' + y] = KFIsCommonSizeArrows(returnObject[y], returnObject['avg' + y], 'net_working_capital')\n\n })\n\n return returnObject;\n}\n\n// Need to calculate the ebitda correctly with taxes for you and avg values and calulations that use it\nconst calculateEBITDAYears = (years, you, avg) => {\n let ebitda = {}\n // Need to common size compare with you total_assets\n const youTotalRevenue = you['total_revenue'];\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youNetIncome = you['operating_expenses_net_income'];\n const youInterest = you['interest_and_other_expenses'];\n const youTaxesFS = you['total_other_costs_taxes_- federal & state'];\n const youDeprAmor = you['depreciation_and_amortization'];\n const avgNetIncomeCS = avgExists ? avg['operating_expenses_net_income_common_size_revenue'] : null;\n const avgInterestCS = avgExists ? avg['interest_and_other_expenses_common_size_revenue'] : null;\n const avgTaxesFSCS = avgExists ? avg['total_other_costs_taxes_- federal & state_common_size_revenue'] : null;\n const avgDeprAmorCS = avgExists ? avg['depreciation_and_amortization_common_size_revenue'] : null;\n\n years.forEach((y) => {\n let youNetIncomeVal = youNetIncome && _.isNumber(youNetIncome[y]) ? youNetIncome[y] : null\n let youInterestVal = youInterest && _.isNumber(youInterest[y]) ? youInterest[y] : null\n let youTaxesFSVal = youTaxesFS && _.isNumber(youTaxesFS[y]) ? youTaxesFS[y] : null;\n let youDeprAmorVal = youDeprAmor && _.isNumber(youDeprAmor[y]) ? youDeprAmor[y] : null\n ebitda[y] = youNetIncomeVal + youInterestVal + youTaxesFSVal + youDeprAmorVal;\n\n if (avgExists) {\n let avgNetIncomeVal = avgNetIncomeCS && _.isNumber(avgNetIncomeCS[y]) ? avgNetIncomeCS[y] * youTotalRevenue[y] : null\n let avgInterestVal = avgInterestCS && _.isNumber(avgInterestCS[y]) ? avgInterestCS[y] * youTotalRevenue[y] : null\n let avgTaxesFSVal = avgTaxesFSCS && _.isNumber(avgTaxesFSCS[y]) ? avgTaxesFSCS[y] * youTotalRevenue[y] : null;\n let avgDeprAmorVal = avgDeprAmorCS && _.isNumber(avgDeprAmorCS[y]) ? avgDeprAmorCS[y] * youTotalRevenue[y] : null\n ebitda['avg' + y] = avgNetIncomeVal + avgInterestVal + avgTaxesFSVal + avgDeprAmorVal;\n } else {\n ebitda['avg' + y] = null;\n }\n\n\n ebitda['status' + y] = KFIsCommonSizeArrows(ebitda[y], ebitda['avg' + y], 'ebitda')\n\n })\n return ebitda;\n}\n\nconst calculateSeniorDebtToEBITDAYears = (years, you, avg) => {\n let seniorDebtToEBITDA = {}\n let ebitda = calculateEBITDAYears(years, you, avg);\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youLongTermDebt = you['long_term_debt'];\n const youLineOfCredit = you['line_of_credit'];\n const youCurrentPortionOfLTD = you['current_portion_of_ltd'];\n const avgLongTermDebt = avgExists ? avg['long_term_debt'] : null;\n const avgLineOfCredit = avgExists ? avg['line_of_credit'] : null;\n const avgCurrentPortionOfLTD = avgExists ? avg['current_portion_of_ltd'] : null;\n\n years.forEach((y) => {\n if (ebitda[y]) {\n seniorDebtToEBITDA[y] = (youLongTermDebt[y] + youLineOfCredit[y] + youCurrentPortionOfLTD[y]) / ebitda[y]\n } else {\n seniorDebtToEBITDA[y] = null;\n }\n\n if (avgExists && ebitda['avg' + y]) {\n seniorDebtToEBITDA['avg' + y] = (avgLongTermDebt[y] + avgLineOfCredit[y] + avgCurrentPortionOfLTD[y]) / ebitda['avg' + y]\n } else {\n seniorDebtToEBITDA['avg' + y] = null;\n }\n\n seniorDebtToEBITDA['status' + y] = KFIsCommonSizeArrows(seniorDebtToEBITDA[y], seniorDebtToEBITDA['avg' + y], 'senior_debt_to_ebitda')\n\n })\n return seniorDebtToEBITDA;\n}\n\nconst calculateEBITDAtoAnnualInterestYears = (years, you, avg) => {\n let ebitdaToAnnualInterest = {}\n let ebitda = calculateEBITDAYears(years, you, avg);\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youInterest = you['interest_and_other_expenses'];\n const avgInterest = avgExists ? avg['interest_and_other_expenses'] : null;\n\n years.forEach((y) => {\n if (youInterest[y]) {\n ebitdaToAnnualInterest[y] = ebitda[y] / youInterest[y]\n } else {\n ebitdaToAnnualInterest[y] = null;\n }\n\n if (avgExists && avgInterest[y]) {\n ebitdaToAnnualInterest['avg' + y] = ebitda['avg' + y] / avgInterest[y]\n } else {\n ebitdaToAnnualInterest['avg' + y] = null;\n }\n\n ebitdaToAnnualInterest['status' + y] = KFIsCommonSizeArrows(ebitdaToAnnualInterest[y], ebitdaToAnnualInterest['avg' + y], 'ebitda_to_annual_interest')\n })\n return ebitdaToAnnualInterest\n}\n\nconst calcDaysCashOnHandYears = (years, you, avg) => {\n // Cash / ((Total Operating Expenses + Interest & Other Expense + Taxes - Federal & State + Other (Income) Expense) / 365)\n let daysCashOnHand = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youOpEx = you['total_operating_expenses'];\n const avgOpEx = avgExists ? avg['total_operating_expenses'] : null;\n\n years.forEach((y) => {\n if (youOpEx[y]) {\n daysCashOnHand[y] = you['cash'][y] / ((youOpEx[y] + you['interest_and_other_expenses'][y] + you['total_other_costs_taxes_- federal & state'][y] + you['other_income_expenses'][y]) / 365)\n } else {\n daysCashOnHand[y] = null;\n }\n\n if (avgExists && avgOpEx[y]) {\n daysCashOnHand['avg' + y] = avg['cash'][y] / ((avgOpEx[y] + avg['interest_and_other_expenses'][y] + avg['total_other_costs_taxes_- federal & state'][y] + avg['other_income_expenses'][y]) / 365)\n } else {\n daysCashOnHand['avg' + y] = null;\n }\n\n daysCashOnHand['status' + y] = KFIsCommonSizeArrows(daysCashOnHand[y], daysCashOnHand['avg' + y], 'days_cash_on_hand')\n })\n return daysCashOnHand\n}\n\nconst calcQuickRatioYears = (years, you, avg) => {\n // (Current Assets - Inventory)/Current Liabilities\n let quickRatio = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youCL = you['total_current_liabilities'];\n const avgCL = avgExists ? avg['total_current_liabilities'] : null;\n\n years.forEach((y) => {\n if (youCL[y]) {\n quickRatio[y] = (you['total_current_assets'][y] - you['inventory'][y]) / youCL[y]\n } else {\n quickRatio[y] = null;\n }\n\n if (avgExists && avgCL[y]) {\n quickRatio['avg' + y] = (avg['total_current_assets'][y] - avg['inventory'][y]) / avgCL[y]\n } else {\n quickRatio['avg' + y] = null;\n }\n\n quickRatio['status' + y] = KFIsCommonSizeArrows(quickRatio[y], quickRatio['avg' + y], 'quick_ratio')\n })\n return quickRatio\n}\n\nconst calcDebtRatioYears = (years, you, avg) => {\n // (Total Current Liabilities + Long Term Debt) / Total Aassets\n let debtRatio = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTA = you['total_assets'];\n const avgTA = avgExists ? avg['total_assets'] : null;\n\n years.forEach((y) => {\n if (youTA[y]) {\n debtRatio[y] = (you['total_current_liabilities'][y] + you['long_term_debt'][y]) / youTA[y]\n } else {\n debtRatio[y] = null;\n }\n\n if (avgExists && avgTA[y]) {\n debtRatio['avg' + y] = (avg['total_current_liabilities'][y] + avg['long_term_debt'][y]) / avgTA[y]\n } else {\n debtRatio['avg' + y] = null;\n }\n\n debtRatio['status' + y] = KFIsCommonSizeArrows(debtRatio[y], debtRatio['avg' + y], 'debt_ratio')\n })\n return debtRatio\n}\n\nconst calcOperatingCashFlowYears = (years, you, avg) => {\n // \tNet cash flow from operating activities / Current Liabilities\n let operatingCashFlow = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youCL = you['total_current_liabilities'];\n const avgCL = avgExists ? avg['total_current_liabilities'] : null;\n const opCashFLow = netOperatingActivitiesValues(years, you, avg)\n\n years.forEach((y) => {\n if (youCL[y]) {\n operatingCashFlow[y] = opCashFLow[y] / youCL[y]\n } else {\n operatingCashFlow[y] = null;\n }\n\n if (avgExists && avgCL[y]) {\n operatingCashFlow['avg' + y] = opCashFLow['avgVal' + y] / avgCL[y]\n } else {\n operatingCashFlow['avg' + y] = null;\n }\n\n operatingCashFlow['status' + y] = KFIsCommonSizeArrows(operatingCashFlow[y], operatingCashFlow['avg' + y], 'operating_cash_flow_kfi')\n })\n return operatingCashFlow\n}\n\nconst calcCashFlowMarginYears = (years, you, avg) => {\n // \tNet cash flow from operating activities / Net Revenue (Total Revenue)\n let cashFlowMargin = {}\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n const youTR = you['total_revenue'];\n const avgTR = avgExists ? avg['total_revenue'] : null;\n const opCashFLow = netOperatingActivitiesValues(years, you, avg)\n\n years.forEach((y) => {\n if (youTR[y]) {\n cashFlowMargin[y] = opCashFLow[y] / youTR[y]\n } else {\n cashFlowMargin[y] = null;\n }\n\n if (avgExists && avgTR[y]) {\n cashFlowMargin['avg' + y] = opCashFLow['avgVal' + y] / avgTR[y]\n } else {\n cashFlowMargin['avg' + y] = null;\n }\n\n cashFlowMargin['status' + y] = KFIsCommonSizeArrows(cashFlowMargin[y], cashFlowMargin['avg' + y], 'cash_flow_margin')\n })\n return cashFlowMargin\n}\n\nconst AnnualKFIsValues = (calcs, calcsAvgType = 'avg', years, key, report = 'money') => {\n const you = report === 'money' ? calcs.you : calcs.avg;\n const avg = calcsAvgType ? calcs[calcsAvgType] : null;\n let row;\n const avgExists = avg && Object.keys(avg).length > 0 ? true : false;\n\n if (key === 'net_working_capital') {\n row = calculateNetWorkingCapitalYears(years, you, avg)\n } else if (key === 'ebitda') {\n row = calculateEBITDAYears(years, you, avg)\n } else if (key === 'senior_debt_to_ebitda') {\n row = calculateSeniorDebtToEBITDAYears(years, you, avg)\n } else if (key === 'ebitda_to_annual_interest') {\n row = calculateEBITDAtoAnnualInterestYears(years, you, avg)\n } else if (key === 'days_cash_on_hand') {\n row = calcDaysCashOnHandYears(years, you, avg)\n } else if (key === 'quick_ratio') {\n row = calcQuickRatioYears(years, you, avg)\n } else if (key === 'debt_ratio') {\n row = calcDebtRatioYears(years, you, avg)\n } else if (key === 'operating_cash_flow_kfi') {\n row = calcOperatingCashFlowYears(years, you, avg)\n } else if (key === 'cash_flow_margin') {\n row = calcCashFlowMarginYears(years, you, avg)\n } else if (key === 'maintenace_per_golf_hole') {\n let yearVals = {};\n years.forEach(y => {\n yearVals[y] = _.isNumber(you['total_operations_ops_- golf']) && _.isNumber(you['number_of_holes_on_golf_course']) ? (you['total_operations_ops_- golf'][y] / you['number_of_holes_on_golf_course'][y]) : null;;\n yearVals['avg' + y] = avgExists && _.isNumber(avg['total_operations_ops_- golf']) && _.isNumber(avg['number_of_holes_on_golf_course']) ? (avg['total_operations_ops_- golf'][y] / avg['number_of_holes_on_golf_course'][y]) : null;\n yearVals['status'] = KFIsCommonSizeArrows(yearVals[y], yearVals['avg' + y], 'maintenace_per_golf_hole')\n })\n row = yearVals;\n } else if (['operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization'].includes(key)) {\n let youTotalRevenue = you['total_revenue']\n let youVals = you[key] ? you[key] : null;\n let compareKey = key + '_common_size_revenue'\n let avgVals = avgExists && avg[compareKey] ? avg[compareKey] : null;\n let yearVals = {};\n\n if (youVals || avgVals) {\n years.forEach(y => {\n yearVals[y] = youVals && _.isNumber(youVals[y]) ? youVals[y] : null;\n yearVals['avg' + y] = avgExists && avgVals && _.isNumber(avgVals[y]) ? avgVals[y] * youTotalRevenue[y] : null;\n yearVals['status' + y] = KFIsCommonSizeArrows(yearVals[y], yearVals['avg' + y], key)\n })\n }\n row = yearVals;\n } else {\n let finalKey = key\n if (key === 'gross_profit') {\n finalKey = 'gross_profit_common_size_revenue'\n } else if (key === 'operating_profit') {\n finalKey = 'operating_profit_common_size_revenue'\n } else if (key === 'net_profit') {\n finalKey = 'operating_expenses_net_income_common_size_revenue'\n }\n\n let youVals = you[finalKey] ? you[finalKey] : null;\n let avgVals = avgExists && avg[finalKey] ? avg[finalKey] : null;\n let yearVals = {};\n\n if (youVals || avgVals) {\n years.forEach(y => {\n yearVals[y] = youVals && _.isNumber(youVals[y]) ? youVals[y] : null;\n yearVals['avg' + y] = avgExists && avgVals && _.isNumber(avgVals[y]) ? avgVals[y] : null;\n yearVals['status' + y] = KFIsCommonSizeArrows(yearVals[y], yearVals['avg' + y], finalKey)\n })\n }\n\n row = yearVals;\n }\n return row;\n}\n\n// const calculateNetWorkingCapitalYTD = (calcs, yearRange) => {\n// let netWorkingCapital = {};\n// yearRange.forEach((y) => {\n// netWorkingCapital[y] = objReducer(calcs[y][youOrAvg]['total_current_assets']) - objReducer(whichCalcs[y][youOrAvg]['total_current_liabilities']);\n// })\n// return netWorkingCapital;\n// }\n\n// // YTD KFIs\n// const YTDKFIsValues = (row, calcs, prevYearCalcs, yearRange) => {\n// let youValues = null;\n// let compareValues = null;\n// if (row.key) {\n\n// } else if (row.key === 'net_working_capital') {\n// youValues = calculateNetWorkingCapitalYTD(calcs,)\n// compareValues = calculateNetWorkingCapitalYTD()\n// }\n// }\n\nconst monthlyNetProfit = (calcs, numberOfMonths) => {\n const netProfit = {}\n const netIncome = calcs['operating_expenses_net_income'] || {}\n const revenue = calcs['total_revenue'] || {}\n\n for (let i = 1; i <= numberOfMonths; i++) {\n let numerator = netIncome[i] ?? 0\n let denominator = revenue[i] ?? 0\n\n if (denominator !== 0) {\n netProfit[i] = (numerator / denominator)\n } else {\n netProfit[i] = null\n }\n }\n\n return netProfit\n}\n\nconst monthlyDaysCashOnHand = (calcs, numberOfMonths) => {\n const daysCashOnHand = {}\n const cash = calcs['cash'] || {}\n const totalOpEx = calcs['total_operating_expenses'] || {}\n const interest = calcs['interest_and_other_expenses'] || {}\n const taxes = calcs['total_other_costs_taxes_- federal & state'] || {}\n const otherExpenses = calcs['other_income_expenses'] || {}\n\n for (let i = 1; i <= numberOfMonths; i++) {\n const numerator = cash[i] ?? null\n const denomOperating = totalOpEx[i] ?? null\n const denomInterest = interest[i] ?? 0\n const denomTaxes = taxes[i] ?? 0\n const denomOther = otherExpenses[i] ?? 0\n\n if (denomOperating !== null) {\n const denominator = denomOperating + denomInterest + denomTaxes + denomOther\n daysCashOnHand[i] = denominator !== 0 ? numerator / (denominator / 365) : null\n } else {\n daysCashOnHand[i] = null\n }\n }\n\n return daysCashOnHand\n}\n\nconst monthlyQuickRatio = (calcs, numberOfMonths) => {\n const quickRatio = {}\n const currentAssets = calcs['total_current_assets'] || {}\n const currentLiabilities = calcs['total_current_liabilities'] || {}\n const inventory = calcs['inventory'] || {}\n\n for (let i = 1; i <= numberOfMonths; i++) {\n const denom = currentLiabilities[i] ?? null\n const assets = currentAssets[i] ?? null\n const inventoryVal = inventory[i] ?? 0\n\n if (denom !== null && assets !== null) {\n quickRatio[i] = (assets - inventoryVal) / denom\n } else {\n quickRatio[i] = null\n }\n }\n\n return quickRatio\n}\n\nconst monthlyDebtRatio = (calcs, numberOfMonths) => {\n const debtRatio = {}\n const totalAssets = calcs['total_assets'] || {}\n const currentLiabilities = calcs['total_current_liabilities'] || {}\n const longTermDebt = calcs['long_term_debt'] || {}\n\n for (let i = 1; i <= numberOfMonths; i++) {\n const denom = totalAssets[i] ?? null\n const currLiabilities = currentLiabilities[i] ?? 0\n const ltd = longTermDebt[i] ?? 0\n\n if (denom !== null && denom !== 0) {\n debtRatio[i] = (currLiabilities + ltd) / denom\n } else {\n debtRatio[i] = null\n }\n }\n\n return debtRatio\n}\n\nconst monthlyOperatingCashFlow = (key, calcs, prevYearCalcs, numberOfMonths) => {\n const opCashFlowMetric = {}\n // Net cash flow from operating activities\n const netOperatingActivities = netOperatingActivitiesValuesMonths(calcs, prevYearCalcs)\n const totalRevenue = calcs['total_revenue'] || {}\n const currentLiabilities = calcs['total_current_liabilities'] || {}\n\n for (let i = 1; i <= numberOfMonths; i++) {\n const numerator = netOperatingActivities[i] ?? null\n const denominator = key === 'operating_cash_flow_kfi'\n ? currentLiabilities[i] ?? null\n : totalRevenue[i] ?? null\n\n if (numerator !== null && denominator !== null && denominator !== 0) {\n opCashFlowMetric[i] = numerator / denominator\n } else {\n opCashFlowMetric[i] = null\n }\n }\n\n return opCashFlowMetric\n}\n\n// Monthly KFIs\nconst MonthlyKFIsValues = (row, numberOfMonths, compareWith, calcs, prevYearCalcs, yoyCalcs, prevYoyCalcs, forecastVals = null) => {\n let youValues = null;\n let compareValues = null;\n let ytdYou = null;\n let ytdCompare = null;\n const trailing12MonthsKeys = ['roa', 'roe', 'roce', 'asset_turnover_ratio', 'inventory_turnover_ratio', 'ar_days', 'ap_days', 'senior_debt_to_ebitda', 'ebitda_to_annual_interest', 'debt_to_equity'];\n const ebitdaKeys = ['operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization']\n\n if (row.key === 'total_revenue_growth_rate') {\n youValues = monthlyTotalRevenueGRCalc(calcs['you'], prevYearCalcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyTotalRevenueGRCalc(prevYearCalcs['you'], prevYoyCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyTotalRevenueGRCalc(calcs['avg'], prevYearCalcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyTotalRevenueGRCalc(forecastVals, prevYearCalcs['you'])\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (row.key === 'current_ratio') {\n youValues = ratioCalculations('total_current_assets', calcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = ratioCalculations('total_current_assets', prevYearCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = ratioCalculations('total_current_assets', calcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = ratioCalculations('total_current_assets', forecastVals)\n }\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (row.key === 'gross_profit') {\n youValues = ratioCalculationsMoney('gross_profit', calcs['you'], prevYearCalcs['you'], numberOfMonths)\n\n if (compareWith === 'Default:YOY') {\n compareValues = ratioCalculationsMoney('gross_profit', prevYearCalcs['you'], prevYoyCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = ratioCalculationsMoney('gross_profit', calcs['avg'], prevYearCalcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = ratioCalculationsMoney('gross_profit', forecastVals, prevYearCalcs['you'], numberOfMonths)\n }\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (row.key === 'operating_profit') {\n youValues = ratioCalculationsMoney('operating_profit', calcs['you'], prevYearCalcs['you'], numberOfMonths)\n\n if (compareWith === 'Default:YOY') {\n compareValues = ratioCalculationsMoney('operating_profit', prevYearCalcs['you'], prevYoyCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = ratioCalculationsMoney('operating_profit', calcs['avg'], prevYearCalcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = ratioCalculationsMoney('operating_profit', forecastVals, prevYearCalcs['you'], numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n\n } else if (row.key === 'net_profit') {\n // Just use a month's values\n youValues = monthlyNetProfit(calcs['you'], numberOfMonths)\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyNetProfit(prevYearCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyNetProfit(calcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyNetProfit(forecastVals, numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n\n } else if (row.key === 'days_cash_on_hand') {\n // Just use a month's values\n youValues = monthlyDaysCashOnHand(calcs['you'], numberOfMonths)\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyDaysCashOnHand(prevYearCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyDaysCashOnHand(calcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyDaysCashOnHand(forecastVals, numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n\n } else if (row.key === 'quick_ratio') {\n // Just use a month's values\n youValues = monthlyQuickRatio(calcs['you'], numberOfMonths)\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyQuickRatio(prevYearCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyQuickRatio(calcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyQuickRatio(forecastVals, numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n\n } else if (row.key === 'debt_ratio') {\n // Just use a month's values\n youValues = monthlyDebtRatio(calcs['you'], numberOfMonths)\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyDebtRatio(prevYearCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyDebtRatio(calcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyDebtRatio(forecastVals, numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (row.key === 'operating_cash_flow_kfi' || row.key === 'cash_flow_margin') {\n // Just use a month's values\n youValues = monthlyOperatingCashFlow(row.key, calcs['you'], prevYearCalcs['you'], numberOfMonths)\n // Not sure here...\n if (compareWith === 'Default:YOY') {\n compareValues = monthlyOperatingCashFlow(row.key, yoyCalcs['you'], prevYoyCalcs['you'], numberOfMonths)\n } else if (compareWith === 'Default:Peers') {\n compareValues = monthlyOperatingCashFlow(row.key, calcs['avg'], prevYearCalcs['avg'], numberOfMonths)\n } else if (compareWith.includes('Forecast')) {\n compareValues = monthlyOperatingCashFlow(row.key, forecastVals, prevYearCalcs['you'], numberOfMonths)\n }\n\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n\n } else if (row.key === 'net_working_capital') {\n // Given net working capital ratio values are not correct and need to be recalculated\n youValues = netWorkingCapitalCalculation(calcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = netWorkingCapitalCalculation(prevYearCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = netWorkingCapitalCalculation(calcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = netWorkingCapitalCalculation(forecastVals)\n }\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (row.key === 'net_working_capital_ratio') {\n youValues = netWorkingCapitalRatioCalculation(calcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = netWorkingCapitalRatioCalculation(prevYearCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = netWorkingCapitalRatioCalculation(calcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = netWorkingCapitalRatioCalculation(forecastVals)\n }\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else if (trailing12MonthsKeys.includes(row.key)) {\n youValues = trailing12MonthCalculations(row.copy, calcs['you'], prevYearCalcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = trailing12MonthCalculations(row.copy, prevYearCalcs['you'], prevYoyCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = trailing12MonthCalculations(row.copy, calcs['avg'], prevYearCalcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = trailing12MonthCalculations(row.copy, forecastVals, prevYearCalcs['you'])\n }\n if (youValues) {\n let youCalcsLength = Object.values(youValues).length\n ytdYou = youValues[youCalcsLength]\n ytdCompare = compareValues ? compareValues[youCalcsLength] : null;\n } else {\n ytdYou = null\n ytdCompare = null\n }\n } else if (row.key === 'ebitda') {\n youValues = calculateEBITDA(calcs['you'])\n\n if (compareWith === 'Default:YOY') {\n compareValues = calculateEBITDA(prevYearCalcs['you'])\n } else if (compareWith === 'Default:Peers') {\n compareValues = calculateEBITDA(calcs['avg'])\n } else if (compareWith.includes('Forecast')) {\n compareValues = calculateEBITDA(forecastVals)\n }\n let youCalcsLength = Object.values(youValues).length\n let arrayOfComparisonCalcedVals = [];\n for (let i = 1; i <= youCalcsLength; i++) {\n compareValues ? arrayOfComparisonCalcedVals.push(compareValues[i]) : arrayOfComparisonCalcedVals.push(null)\n }\n ytdYou = Object.values(youValues).reduce((a, b) => a + b, 0)\n ytdCompare = compareValues ? arrayOfComparisonCalcedVals.reduce((a, b) => a + b, 0) : null;\n } else if (ebitdaKeys.includes(row.key)) {\n youValues = calcs['you'][row.key]\n if (youValues) {\n if (compareWith === 'Default:YOY') {\n compareValues = prevYearCalcs['you'][row.key]\n } else if (compareWith === 'Default:Peers') {\n compareValues = calcs['avg'][row.key]\n } else if (compareWith.includes('Forecast')) {\n compareValues = forecastVals[row.key]\n }\n let youCalcsLength = 0\n Object.values(youValues).forEach(value => value !== null ? youCalcsLength += 1 : null)\n let arrayOfComparisonCalcedVals = [];\n if (compareValues) {\n for (let i = 1; i <= youCalcsLength; i++) {\n arrayOfComparisonCalcedVals.push(compareValues[i])\n }\n }\n ytdYou = Object.values(youValues).reduce((a, b) => a + b, 0)\n ytdCompare = compareValues ? arrayOfComparisonCalcedVals.reduce((a, b) => a + b, 0) : null;\n }\n }\n\n return { youValues, compareValues, ytdYou, ytdCompare };\n}\n\nconst cashFlowTitleKeys = [\n {\n title: 'Cash flow from operating activities:',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Net Income',\n key: 'operating_expenses_net_income',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Depreciation & Amortization',\n key: 'depreciation_and_amortization',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Accounts Receivable',\n key: 'accounts_receivable',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Inventory',\n key: 'inventory',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Under-Billings',\n key: 'under_billings',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Prepaid & Other Current Assets',\n key: 'prepaid_and_other_current_assets',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Accounts Payable',\n key: 'accounts_payable',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Accrued Liabilities',\n key: 'accrued_liabilities',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Over-Billings',\n key: 'over_billings',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Other Current Liabilities',\n key: 'other_current_liabilities',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Net cash flow from operating activities',\n key: 'net_operating_activities',\n paddingLeft: 0,\n fontStyle: 'italic',\n },\n {\n title: 'Cash flow from investing activities:',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Property & Equipment',\n key: 'property_and_equipment',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Other Long Term Assets',\n key: 'other_long_term_assets',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Net cash flow from investing activities',\n key: 'net_investing_activities',\n paddingLeft: 0,\n fontStyle: 'italic',\n },\n {\n title: 'Cash flow from financing activities:',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Line of Credit',\n key: 'line_of_credit',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Current Portion of LTD',\n key: 'current_portion_of_ltd',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Long Term Debt',\n key: 'long_term_debt',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Equity',\n key: 'equity',\n paddingLeft: '18px',\n fontStyle: 'none',\n },\n {\n title: 'Net cash flow from financing activities',\n key: 'net_financing_activities',\n paddingLeft: 0,\n fontStyle: 'italic',\n },\n {\n title: 'Net change in cash and cash equivalents',\n key: 'net_change_cash',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Cash at beginning of period',\n key: 'cash',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Cash at end of period',\n key: 'cash',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Free Cash Flow:',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Operating cash flow',\n key: 'operating_cash_flow',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Capital Expenditure',\n key: 'capital_expenditure',\n paddingLeft: 0,\n fontStyle: 'none',\n },\n {\n title: 'Free Cash Flow',\n key: 'free_cash_flow',\n paddingLeft: 0,\n fontStyle: 'italic',\n }\n];\n\nconst objReducer = (obj) => {\n let reducedObject = undefined;\n if (obj) {\n reducedObject = Object.values(obj).reduce((a, b) => a + b, 0);\n }\n return reducedObject;\n}\n// 2 Year YTD calculations not trailing 12 calcs! We use monthly values for the 2 yeat YTD.\nconst calculateCurrentRatio = (calcs) => {\n let totalCurrentAssets = objReducer(calcs.total_current_assets);\n let totalCurrentLiabilities = objReducer(calcs.total_current_liabilities);\n return totalCurrentLiabilities ? (totalCurrentAssets / totalCurrentLiabilities) : null;\n}\n\nconst calculateNetWorkingCapital = (calcs) => {\n let totalCurrentAssets = objReducer(calcs.total_current_assets);\n let totalCurrentLiabilities = objReducer(calcs.total_current_liabilities);\n return totalCurrentAssets - totalCurrentLiabilities;\n}\n\nconst calculateNetWorkingCapitalRatio = (calcs) => {\n let totalAssets = objReducer(calcs.total_assets);\n let totalCurrentAssets = objReducer(calcs.total_current_assets);\n let totalCurrentLiabilities = objReducer(calcs.total_current_liabilities);\n return totalAssets ? ((totalCurrentAssets - totalCurrentLiabilities) / totalAssets) : null;\n}\nconst calculateROA = (calcs) => {\n let totalAssets = objReducer(calcs.total_assets);\n let netIncome = objReducer(calcs.operating_expenses_net_income);\n return totalAssets ? netIncome / totalAssets : null;\n}\nconst calculateROE = (calcs) => {\n let netWorth = objReducer(calcs.net_worth);\n let netIncome = objReducer(calcs.operating_expenses_net_income);\n return netWorth ? netIncome / netWorth : null;\n}\nconst calculateROCE = (calcs) => {\n let netWorth = objReducer(calcs.net_worth);\n let longTermDebt = objReducer(calcs.long_term_debt);\n let operatingProfit = objReducer(calcs.operating_profit);\n let denominator = (netWorth + longTermDebt)\n return denominator ? operatingProfit / denominator : null;\n}\n\nconst calculateROI = (calcs) => {\n let netIncome = objReducer(calcs.operating_expenses_net_income);\n let capitalStock = objReducer(calcs.capital_stock);\n return capitalStock ? netIncome / capitalStock : null;\n}\n\nconst calculateNetProfit = (calcs) => {\n let totalRevenue = objReducer(calcs.total_revenue);\n let netIncome = objReducer(calcs.operating_expenses_net_income);\n return totalRevenue ? (netIncome / totalRevenue) : null;\n}\n\nconst calculateDaysCash = (calcs) => {\n let totalOpEx = objReducer(calcs.total_operating_expenses);\n let cash = objReducer(calcs.cash);\n let interestAndOtherExpenses = objReducer(calcs.interest_and_other_expenses)\n let taxes = objReducer(calcs['total_other_costs_taxes_- federal & state'])\n let otherIncomeExpenses = objReducer(calcs.other_income_expenses)\n return totalOpEx ? cash / ((totalOpEx + interestAndOtherExpenses + taxes + otherIncomeExpenses) / 365) : null;\n}\n\nconst calculateQuickRatio = (calcs) => {\n let totalCL = objReducer(calcs.total_current_liabilities);\n let totalAssets = objReducer(calcs.total_current_assets);\n let inventory = objReducer(calcs.inventory);\n return totalCL ? (totalAssets - inventory) / totalCL : null;\n}\n\nconst calculateDebtRatio = (calcs) => {\n let totalAssets = objReducer(calcs.total_assets);\n let totalCL = objReducer(calcs.total_current_liabilities);\n let longTermDebt = objReducer(calcs.long_term_debt);\n return totalAssets ? (totalCL + longTermDebt) / totalAssets : null;\n}\n\nconst calculateOperatingCashFlow = (calcs, previousYearCalcs) => {\n let totalCL = objReducer(calcs.total_current_liabilities);\n let opCashFLow = netOperatingActivitiesValuesMonths(calcs, previousYearCalcs, true);\n return totalCL ? (opCashFLow / totalCL) : null;\n}\n\nconst calculateCashFlowMargin = (calcs, previousYearCalcs) => {\n let totalRevenue = objReducer(calcs.total_revenue);\n let opCashFLow = netOperatingActivitiesValuesMonths(calcs, previousYearCalcs, true);\n return totalRevenue ? (opCashFLow / totalRevenue) : null;\n}\n\nconst calculateGrossProfit = (calcs) => {\n let totalRevenue = objReducer(calcs.total_revenue);\n let grossProfit = objReducer(calcs.gross_profit);\n return totalRevenue ? (grossProfit / totalRevenue) : null;\n}\n\nconst calculateOperatingProfit = (calcs) => {\n let totalRevenue = objReducer(calcs.total_revenue);\n let operatingProfit = objReducer(calcs.operating_profit);\n return totalRevenue ? (operatingProfit / totalRevenue) : null;\n}\n\nconst calculateAssetTurnoverRatio = (calcs) => {\n let totalAssets = objReducer(calcs.total_assets);\n let totalRevenue = objReducer(calcs.total_revenue);\n return totalAssets ? totalRevenue / totalAssets : null;\n}\n\nconst calculateInventoryTurnoverRatio = (calcs, previousYearCalcs) => {\n let currentYearInventory = objReducer(calcs.inventory);\n let previousYearInventory = objReducer(previousYearCalcs.inventory);\n let materialCosts = objReducer(calcs.materials_costs);\n let denominator = (currentYearInventory + previousYearInventory);\n return denominator ? (materialCosts / ((denominator) / 2)) : null;\n}\n\nconst calculateARDays = (calcs) => {\n let accountsReceivable = objReducer(calcs.accounts_receivable);\n let totalRevenue = objReducer(calcs.total_revenue);\n return totalRevenue ? ((360 * accountsReceivable) / totalRevenue) : null;\n}\n\nconst calculateAPDays = (calcs) => {\n let accountsPayable = objReducer(calcs.accounts_payable);\n let totalCosts = objReducer(calcs.total_costs);\n let laborCosts = objReducer(calcs.labor_costs);\n let totalOpEx = objReducer(calcs.total_operating_expenses);\n let taxBenies = objReducer(calcs.total_taxes_and_benefits);\n let totalCompensation = objReducer(calcs.total_compensation);\n let denominator = (totalCosts - laborCosts + totalOpEx - taxBenies - totalCompensation);\n return denominator ? ((360 * accountsPayable) / denominator) : null;\n}\n\nconst calculateDebtToEquity = (calcs) => {\n let netWorth = objReducer(calcs.net_worth);\n let totalCurrentLiabilities = objReducer(calcs.total_current_liabilities);\n let longTermDebt = objReducer(calcs.long_term_debt);\n return netWorth ? ((totalCurrentLiabilities + longTermDebt) / netWorth) : null;\n}\n\nconst calculateEBITDAnormal = (calcs) => {\n let ebitda = 0;\n if (calcs.operating_expenses_net_income || calcs.interest_and_other_expenses || calcs['total_other_costs_taxes_- federal & state'] || calcs.depreciation_and_amortization) {\n ebitda = (objReducer(calcs.operating_expenses_net_income) +\n objReducer(calcs.interest_and_other_expenses) +\n objReducer(calcs['total_other_costs_taxes_- federal & state']) +\n objReducer(calcs.depreciation_and_amortization))\n }\n return ebitda;\n}\n\nconst calculateSeniorDebtToEBITDA = (calcs) => {\n let seniorDebtToebitda = 0;\n let ebitda = calculateEBITDAnormal(calcs);\n if (ebitda === 0 || ebitda === null) {\n seniorDebtToebitda = null\n } else {\n seniorDebtToebitda = (objReducer(calcs.long_term_debt) +\n objReducer(calcs.line_of_credit) +\n objReducer(calcs.current_portion_of_ltd)) / ebitda;\n }\n return seniorDebtToebitda;\n}\n\nconst calculateEBITDAtoAnnualInterest = (calcs) => {\n let ebitdaToAnnualInterest = 0;\n let ebitda = calculateEBITDAnormal(calcs);\n if (objReducer(calcs['interest_and_other_expenses']) === 0 || objReducer(calcs['interest_and_other_expenses']) === null) {\n ebitdaToAnnualInterest = null\n } else {\n ebitdaToAnnualInterest = ebitda / objReducer(calcs['interest_and_other_expenses'])\n }\n return ebitdaToAnnualInterest;\n}\n\n// Calulations for 2 Year to Date KFI metrics. Not trailing 12 months.\nconst calculateKFIMetric = (key, calcs, prevYearCalcsMonthly, prevYearCalcsMonthlyFullYear) => {\n let finalValue;\n switch (key) {\n case ('total_revenue_growth_rate'):\n finalValue = ytdTotalRevenueGRCalc(calcs, prevYearCalcsMonthly)\n break;\n case ('net_profit'):\n finalValue = calculateNetProfit(calcs)\n break;\n case ('days_cash_on_hand'):\n finalValue = calculateDaysCash(calcs)\n break;\n case ('quick_ratio'):\n finalValue = calculateQuickRatio(calcs)\n break;\n case ('debt_ratio'):\n finalValue = calculateDebtRatio(calcs)\n break;\n case ('operating_cash_flow_kfi'):\n finalValue = calculateOperatingCashFlow(calcs, prevYearCalcsMonthlyFullYear)\n break;\n case ('cash_flow_margin'):\n finalValue = calculateCashFlowMargin(calcs, prevYearCalcsMonthlyFullYear)\n break;\n case ('current_ratio'):\n finalValue = calculateCurrentRatio(calcs);\n break;\n case ('net_working_capital'):\n finalValue = calculateNetWorkingCapital(calcs);\n break;\n case ('net_working_capital_ratio'):\n finalValue = calculateNetWorkingCapitalRatio(calcs);\n break;\n case ('roa'):\n finalValue = calculateROA(calcs);\n break;\n case ('roe'):\n finalValue = calculateROE(calcs);\n break;\n case ('roce'):\n finalValue = calculateROCE(calcs);\n break;\n case ('mkt_roi'):\n finalValue = calculateROI(calcs);\n break;\n case ('gross_profit'):\n finalValue = calculateGrossProfit(calcs);\n break;\n case ('operating_profit'):\n finalValue = calculateOperatingProfit(calcs);\n break;\n case ('asset_turnover_ratio'):\n finalValue = calculateAssetTurnoverRatio(calcs);\n break;\n case ('inventory_turnover_ratio'):\n finalValue = calculateInventoryTurnoverRatio(calcs, prevYearCalcsMonthly);\n break;\n case ('ar_days'):\n finalValue = calculateARDays(calcs);\n break;\n case ('ap_days'):\n finalValue = calculateAPDays(calcs);\n break;\n case ('debt_to_equity'):\n finalValue = calculateDebtToEquity(calcs);\n break;\n case ('senior_debt_to_ebitda'):\n finalValue = calculateSeniorDebtToEBITDA(calcs);\n break;\n case ('ebitda_to_annual_interest'):\n finalValue = calculateEBITDAtoAnnualInterest(calcs);\n break;\n case ('ebitda'):\n finalValue = calculateEBITDAnormal(calcs);\n break;\n default:\n finalValue = objReducer(calcs[key]);\n break;\n }\n return finalValue;\n}\n// Testing Revenue per Month Percentage of Total Revenue of given year \nconst monthlyTotalRevenueGRCalc = (calcs, previousYearCalcs) => {\n let returnObject = {};\n let currentYearTotalRevenue = objReducer(calcs.total_revenue);\n let currentYearMonthlyTotalRevenue = _.pickBy(calcs.total_revenue, _.isNumber);\n for (let month in currentYearMonthlyTotalRevenue) {\n returnObject[month] = (currentYearMonthlyTotalRevenue[month] / currentYearTotalRevenue)\n }\n return returnObject;\n // Old Monthly Revenue Growth Rate formula\n // (previous month / current month) - 1;\n // let previousYearTotalRevenue = previousYearCalcs.total_revenue;\n // if (previousYearTotalRevenue[12]) {\n // returnObject[1] = (currentYearTotalRevenue[1] / previousYearTotalRevenue[12]) - 1;\n // } else {\n // returnObject[1] = 0;\n // }\n // for (let i = 2; i < 13; i++) {\n // returnObject[i] = (currentYearTotalRevenue[i] / currentYearTotalRevenue[i-1]) - 1;\n // }\n}\n// YTD Revenue Growth Rate\nconst ytdTotalRevenueGRCalc = (calcs, previousYearCalcs) => {\n let finalValue = 0;\n\n if (Object.keys(calcs).length !== 0 && Object.keys(previousYearCalcs).length !== 0) {\n let pYRevs = Object.values(previousYearCalcs.total_revenue).slice(0, currentMonth)\n let previousYTDTotalRevenue = pYRevs.reduce((a, b) => a + b, 0);\n let ytdTotalRevenue = objReducer(calcs.total_revenue);\n if (previousYTDTotalRevenue) {\n finalValue = (ytdTotalRevenue / previousYTDTotalRevenue) - 1;\n }\n }\n\n return finalValue;\n}\n\n// Monthly % of Revenue Metric calculations\nconst monthlyPercentOfRevenueCalc = (percentOfRevenueKey, key, calcs) => {\n let returnObj = {};\n let currentYearTotalRevenue = calcs.total_revenue || {};\n const metricValues = calcs[percentOfRevenueKey] && typeof calcs[percentOfRevenueKey] === 'object'\n ? _.pickBy(calcs[percentOfRevenueKey], _.isNumber)\n : { 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0 }\n\n for (let month in metricValues) {\n const revenue = currentYearTotalRevenue[month] ?? null\n const value = metricValues[month] ?? null\n\n if (revenue !== null && revenue !== 0) {\n if (key === 'gross_margin') {\n returnObj[month] = (revenue - value) / revenue\n } else {\n returnObj[month] = value / revenue\n }\n } else {\n returnObj[month] = null\n }\n }\n return returnObj;\n}\n\n// YTD % of Revenue Metric calculations\nconst ytdPercentOfRevenueCalc = (percentOfRevenueKey, key, calcs) => {\n let finalValue = 0;\n let ytdTotalRevenue = objReducer(calcs.total_revenue);\n let metricValues = objReducer(calcs[percentOfRevenueKey]);\n\n if (key === 'gross_margin') {\n finalValue = (ytdTotalRevenue - metricValues) / ytdTotalRevenue;\n } else {\n finalValue = metricValues / ytdTotalRevenue;\n }\n return finalValue;\n}\n\n\nexport { CommonSizeArrowsHelper, CommonSizeArrows, CashFlowCommonSizeArrows, YTDNAICSFocusedVals, YTDPnlandBalCommonSizeValue, YTDPnlandBalValues, MonthlyPNLandBalValues, MonthlyPNLandBalCommonSized, YTDCashFlowValues, MonthlyNAICSFocusedVals, MonthlyCashFlowValues, AnnualCashFlowValues, MonthlyKFIsValues, AnnualKFIsValues, KFIsCommonSizeArrows, cashFlowTitleKeys, objReducer, calculateKFIMetric, calculateSeniorDebtToEBITDA, calculateEBITDAtoAnnualInterest, monthlyTotalRevenueGRCalc, monthlyPercentOfRevenueCalc, ytdPercentOfRevenueCalc, ytdTotalRevenueGRCalc };\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\n\nconst MoneyAnnualTable = (props) => {\n let compareWith, finalCompareTitle = ''\n\n if (props.page !== 'practice') {\n const { filters } = useContext(Filters);\n compareWith = filters.compare_with;\n finalCompareTitle = props.page === 'naics_focused' && compareWith !== 'NSCHBC' ? 'Peers' : compareWith\n }\n\n const buildRows = () => {\n return props.rows.map((row, i) => {\n let underlineFormat, toplineFormat;\n if (row.forecast) {\n if (row.forecast.total) {\n if (row.forecast.total.boldedUnderline) {\n underlineFormat = 'solid 1px';\n } else if (row.forecast.total.doubleUnderline) {\n underlineFormat = 'double 1px';\n } else if (row.forecast.total.underline) {\n underlineFormat = 'solid 1px';\n }\n\n if (row.forecast.total.topline) {\n toplineFormat = 'solid 1px'\n } else {\n toplineFormat = ''\n }\n\n } else if (row.forecast) {\n if (row.forecast.boldedUnderline) {\n underlineFormat = 'solid 1px';\n } else if (row.forecast.doubleUnderline) {\n underlineFormat = 'double 1px';\n } else if (row.forecast.underline) {\n underlineFormat = 'solid 1px';\n }\n\n if (row.forecast.topline) {\n toplineFormat = 'solid 1px'\n } else {\n toplineFormat = ''\n }\n }\n }\n\n if (row.topline) {\n toplineFormat = 'solid 1px'\n }\n\n const copyRowStyle = {\n borderBottom: underlineFormat,\n borderTop: toplineFormat\n }\n\n const copyCellStyle = row.whiteSpace ? 'table-copy wrap-copy-cell' : 'table-copy';\n\n let hideRow = '';\n let zeroYears = [];\n props.yearRange.forEach(y => { row[y] === 0 && Math.abs(row['you' + y]).toFixed(1) === '0.0' && Math.abs(row['avg' + y]).toFixed(1) === '0.0' ? zeroYears.push(y) : null })\n zeroYears.length === props.yearRange.length ? hideRow = row.copy : null\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n if (row.emptyRow) {\n return (\n \n {props.page === 'money' ? : null}\n \n {props.yearRange.map((year, ii) => {\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let backgroundStyle = { height: '20px' }\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n let valueCellClass = '';\n let noEndSpaceCell = props.yearRange.length - 1 == ii;\n\n if (ii % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n\n return (\n \n \n \n {props.page !== 'practice' && compareWith === 'None' ? null : }\n {props.page !== 'practice' && compareWith === 'None' ? null : }\n {noEndSpaceCell ? null : }\n \n )\n })}\n \n )\n } else {\n return (\n row.displayChart && props.editMetrics ? props.handleSelectAndLayout('money', props.sheet, row.relatedCheckedKey) : null}>\n {props.page === 'practice' || props.page === 'naics_focused' || props.pdf ? null : {rowChecked}}\n {row.copy === 'Current Liabilities'\n ? {row.copyWithPadding}\n : {row.copyWithPadding}}\n {props.yearRange.map((year, ii) => {\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n let valueCellClass = '';\n let noEndSpaceCell = props.yearRange.length - 1 == ii\n\n if (ii % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n try {\n if (props.commonSizeTable) {\n return (\n \n {row[year].toFixed(2)}%\n \n )\n } else {\n // return blank td's if on a header\n if (Object.keys(row).length > 2) {\n let arrowColumn = '';\n let yearValue = parseMoney(row[year]);\n let youPercentage = _.isNumber(row['you' + year]) ? row['you' + year].toFixed(1) + '%' : '-';\n let avgPercentage = _.isNumber(row['avg' + year]) ? row['avg' + year].toFixed(1) + '%' : '-';\n if (row['status' + year] === 'worse' || row['status' + year] === 'worst') {\n arrowColumn =

    \n } else if (row['status' + year] === 'better' || row['status' + year] === 'best') {\n arrowColumn =

    \n }\n\n if (youPercentage === '-' && avgPercentage === '-') {\n youPercentage = ''\n avgPercentage = ''\n }\n\n return (\n \n \n {yearValue}\n \n \n {youPercentage}\n \n {props.page !== 'practice' && compareWith === 'None'\n ? null\n : \n {arrowColumn}\n }\n {props.page !== 'practice' && compareWith === 'None'\n ? null\n : \n {avgPercentage}\n }\n {noEndSpaceCell ? null : }\n \n )\n } else {\n return (\n \n \n \n {props.page !== 'practice' && compareWith === 'None' ? null : }\n {props.page !== 'practice' && compareWith === 'None' ? null : }\n {noEndSpaceCell ? null : }\n \n )\n }\n }\n } catch (error) {\n console.log(error, 'err')\n return ();\n }\n })}\n \n )\n }\n })\n }\n\n const renderYearHeaderColumns = (years) => {\n const currentYear = new Date().getFullYear();\n let youPeersRow = [];\n let formatedYearsRow = [];\n let twoClasses = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow money-table-cell'\n\n years.forEach((y, i) => {\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n let valueCellClass = '';\n let youDate, compareDate = '';\n let noEndSpaceCell = years.length - 1 == i\n\n if (y === currentYear) {\n youDate = props.companyYTDDate;\n compareDate = props.aggregateYTDDate;\n } else {\n youDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${y}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${y + 1}` : `12/31/${y}`;\n compareDate = `12/31/${y}`;\n }\n\n if (i % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n let tableCellClass = 'money-table-cell'\n arrowCellClass += ' ' + tableCellClass;\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' ' + tableCellClass;\n valueCellClass = tableCellClass\n }\n\n if (props.page !== 'practice' && compareWith === 'None') {\n youPeersRow.push(\n \n You\n {noEndSpaceCell ? null : }\n \n )\n\n formatedYearsRow.push(\n \n {youDate}\n {noEndSpaceCell ? null : }\n \n )\n } else {\n youPeersRow.push(\n \n {props.page === 'practice' ? 'Your Avg Client' : 'You'}\n \n {props.page === 'practice' ? 'Peerview Avg Client' : finalCompareTitle}\n {noEndSpaceCell ? null : }\n \n )\n\n formatedYearsRow.push(\n \n {youDate}\n \n {compareDate}\n {noEndSpaceCell ? null : }\n \n )\n }\n\n })\n\n return (\n \n \n {props.page === 'practice' || props.page === 'naics_focused' || props.pdf\n ? \n : ( props.handleEditMetrics()}>{props.editMetrics ? : })}\n {props.page === 'practice' || props.page === 'naics_focused' || props.pdf ? null : }\n {youPeersRow}\n \n \n \n {props.page === 'practice' || props.page === 'naics_focused' || props.pdf ? null : }\n {formatedYearsRow}\n \n \n )\n }\n\n const addDeltaColumn = (row) => {\n let classNames = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell money-table-cell'\n let cellStyle = props.pdf ? {} : { 'backgroundColor': '#BFE0AE' }\n\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n return {parseMoney(row[props.yearRange[1]] - row[props.yearRange[0]])}\n } else {\n return \n }\n }\n\n const buildTable = () => {\n if (props.pdf) {\n // let sheetTitle = props.continued ? `${props.title} - ${props.clientName} (Continued)` : `${props.title} - ${props.clientName}`\n let clientNames = props.realName ? `${props.realName} / ${props.clientName}` : props.clientName\n let yearRangeText = `${props.yearRange[0]} - ${props.yearRange[props.yearRange.length - 1]}`\n let printViewClass = props.yearRange.length === 2 ? 'money-pdf-portrait' : 'report-pdf-landscape'\n\n return (\n
    \n
    \n {props.yearRange.length === 2\n ? (\n
    \n

    {`${props.title} Benchmark Report`}

    \n

    {clientNames}

    \n

    {yearRangeText}

    \n
    \n )\n :

    {`${props.title} Benchmark Report, ${clientNames}, ${yearRangeText}`}

    \n }\n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n \n
    n = {props.n ? props.n : 0}
    \n {props.page === 'naics_focused' || props.page === 'naics_focused-moneypdf' ?

    *The sub-accounts might not add up to total account if details are not provided.

    : null }\n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n )\n } else {\n let tableID = props.page !== 'naics_focused' ? `new-annual-table-${props.sheet}` : `new-annual-table-naics_focused`\n return (\n
    \n
    \n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n \n {props.page === 'practice'\n ? \n : }\n \n
    Displaying {props.n ? props.n : 0} of your clients
    n = {props.n ? props.n : 0}
    \n {props.page === 'naics_focused' || props.page === 'naics_focused-moneypdf' ?

    *The sub-accounts might not add up to total account if details are not provided.

    : null }\n
    \n
    \n
    \n )\n }\n }\n\n return (buildTable())\n}\n\nexport default MoneyAnnualTable;\n","import React, { useState } from 'react';\nimport moment from 'moment';\n\nconst AuditScenarios = (props) => {\n const [newAuditName, setNewAuditName] = useState('');\n\n const createNewScenarioForm = () => {\n return (\n
    props.handleNewScenario(e, props.reportType, newAuditName, props.auditScenario)}>\n setNewAuditName(e.target.value)} required />\n \n
    \n )\n }\n\n return (\n
    \n {createNewScenarioForm()}\n
    \n \n props.handleAuditScenarioSelect(e, props.reportType)}\n >\n\n {props.allAuditScenarios.map((option) => (\n \n ))}\n \n {`Version ${props.auditScenario['version']}`}\n \n
    \n
    \n {props.auditScenario.updated_at ? `Last updated: ${moment(props.auditScenario.updated_at).calendar()}` : null}\n {props.auditScenario.updated_by ? `Last saved by: ${props.auditScenario.updated_by}` : null}\n
    \n
    \n )\n}\n\nexport default AuditScenarios;","import React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport { createMoneyFormat, parseMoney, percentify } from '../../utils';\nimport AuditScenarios from './AuditScenarios';\n\nconst defaultWPScenario = {\n id: 'wp-default',\n name: 'Default',\n report_type: 'wp-analytics',\n created_by: '',\n updated_by: '',\n updated_at: '',\n version: 1,\n data: {\n selected_month: 6,\n dollar_change: {\n integer: 10000,\n text: \"$10,000\"\n },\n percent_change: {\n integer: 10,\n text: \"10%\"\n },\n audit_data: [{\n sheet: \"balance_sheet\",\n key: \"cash\",\n preliminary_risk_assessment: 'Low',\n explaination_variances: 'Explain!',\n qualitatively_significant: 'Yes',\n cx7form: '',\n comment: 'My comment.'\n }\n ]\n }\n}\n\nfunction getLastDayOfMonth(year, month) {\n return new Date(year, month, 0);\n}\n\nconst AuditWPAnalytics = (props) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const [showDetails, setShowDetails] = useState(false)\n const [auditWPScenario, setAuditWPScenario] = useState(props.auditScenario)\n useEffect(() => {\n setAuditWPScenario(() => {\n return props.auditScenario\n })\n }, [props.auditScenario])\n\n const handleAuditInfo = (key, sheet, type, value) => {\n const auditDataExists = auditWPScenario['data']['audit_data'].find(a => a.key === key)\n\n if (auditDataExists) {\n const newAuditData = auditWPScenario['data']['audit_data'].map((a) => {\n if (a.key === key) {\n a[type] = value\n }\n return a\n })\n\n setAuditWPScenario((prevState) => {\n let newAuditScenario = prevState.data\n newAuditScenario['audit_data'] = newAuditData\n return {\n ...prevState,\n data: newAuditScenario\n }\n })\n } else {\n const newAuditDataObj = {\n sheet: sheet,\n key: key\n }\n\n newAuditDataObj['preliminary_risk_assessment'] = ''\n newAuditDataObj['explaination_variances'] = ''\n newAuditDataObj['qualitatively_significant'] = ''\n newAuditDataObj['cx7form'] = ''\n newAuditDataObj['comment'] = ''\n\n newAuditDataObj[type] = value\n setAuditWPScenario((prevState) => {\n let newAuditScenario = prevState.data\n newAuditScenario['audit_data'] = [newAuditDataObj, ...newAuditScenario['audit_data']]\n return {\n ...prevState,\n data: newAuditScenario\n }\n })\n\n }\n }\n\n const annualizedCY = (row) => {\n let annualizedCYVal = null;\n if (_.isNumber(row[props.yearRange[1]])) {\n annualizedCYVal = row[props.yearRange[1]] * (12 / parseInt(props.selectedMonth))\n }\n return annualizedCYVal\n }\n\n const deltaDollarValue = (row, annualizedCYVal = 0) => {\n let finalVal = null\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n if (row.sheet === 'pnl') {\n finalVal = parseMoney(annualizedCYVal - row[props.yearRange[0]])\n } else {\n finalVal = parseMoney(row[props.yearRange[1]] - row[props.yearRange[0]])\n }\n }\n return finalVal\n }\n\n const deltaPercentColumn = (row, annualizedCYVal = 0) => {\n let finalVal = null\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n if (row.sheet === 'pnl') {\n let deltaVal = annualizedCYVal - row[props.yearRange[0]]\n finalVal = row[props.yearRange[0]] ? ((deltaVal / row[props.yearRange[0]]) * 100).toFixed(0) + '%' : '100%';\n } else {\n let deltaVal = row[props.yearRange[1]] - row[props.yearRange[0]]\n finalVal = row[props.yearRange[0]] ? ((deltaVal / row[props.yearRange[0]]) * 100).toFixed(0) + '%' : '100%';\n }\n }\n return finalVal\n }\n\n const analyticScope = (row, annualizedCYVal = 0) => {\n let dollarDiff = 0\n let percentDiff = 0\n let minuend = row.sheet === 'pnl' ? annualizedCYVal : row[props.yearRange[1]]\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(minuend)) {\n dollarDiff = Math.abs(minuend - row[props.yearRange[0]])\n percentDiff = (dollarDiff) / Math.abs(row[props.yearRange[0]]) * 100\n }\n return dollarDiff > props.dollarChange.integer && percentDiff > props.percentChange.integer ? 'Yes' : 'No'\n }\n\n const quantitativelySignificant = (row) => {\n let dollarDiff = 0\n let yesOrNo = ''\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n dollarDiff = row[props.yearRange[1]] - row[props.yearRange[0]]\n yesOrNo = row[props.yearRange[1]] > dollarDiff ? 'Yes' : 'No'\n }\n return yesOrNo\n }\n\n const scopedInForTesting = (quantVal, qualVal) => {\n if (quantVal == qualVal) {\n return quantVal;\n } else if (quantVal === 'Yes' || qualVal === 'Yes') {\n return 'Yes'\n } else if (quantVal && !qualVal) {\n return quantVal\n } else if (!quantVal && qualVal) {\n return qualVal\n }\n }\n\n function buildRows() {\n let totalRevenueAnnualized, totalAssetsUnadjusted;\n if (props.compareWith === 'Peers PY') {\n let revenueRow = props.rows.find(r => r.key === 'total_revenue')\n totalRevenueAnnualized = annualizedCY(revenueRow)\n let totalAssetsRow = props.rows.find(r => r.key === 'total_assets')\n totalAssetsUnadjusted = totalAssetsRow[props.year]\n }\n return props.rows.map((row, i) => {\n let underlineFormat, toplineFormat;\n if (row.emptyRow) {\n const emptyStyle = {\n \"backgroundColor\": \"#bfe0ae\",\n \"height\": \"30px\",\n \"borderBottom\": \"1px solid black\"\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n if (row.forecast) {\n if (row.forecast.total) {\n if (row.forecast.total.boldedUnderline) {\n underlineFormat = 'solid 1px';\n } else if (row.forecast.total.doubleUnderline) {\n underlineFormat = 'double 1px';\n } else if (row.forecast.total.underline) {\n underlineFormat = 'solid 1px';\n }\n\n if (row.forecast.total.topline) {\n toplineFormat = 'solid 1px'\n } else {\n toplineFormat = ''\n }\n\n } else if (row.forecast) {\n if (row.forecast.boldedUnderline) {\n underlineFormat = 'solid 1px';\n } else if (row.forecast.doubleUnderline) {\n underlineFormat = 'double 1px';\n } else if (row.forecast.underline) {\n underlineFormat = 'solid 1px';\n }\n\n if (row.forecast.topline) {\n toplineFormat = 'solid 1px'\n } else {\n toplineFormat = ''\n }\n }\n }\n\n const copyStyle = {\n borderBottom: underlineFormat,\n borderTop: toplineFormat,\n }\n\n let auditInfo = auditWPScenario['data']['audit_data'].find((a) => a.key === row.key);\n let preliminaryRiskAssessment = auditInfo ? auditInfo.preliminary_risk_assessment : '';\n\n if (props.compareWith === 'Peers PY' && row.sheet === 'pnl' && !row.header_key) {\n row[props.year - 1] = (row['avg'+(props.year - 1)] / 100) * totalRevenueAnnualized\n }\n if (props.compareWith === 'Peers PY' && row.sheet === 'balance_sheet' && !row.header_key) {\n row[props.year - 1] = (row['avg'+(props.year - 1)] / 100) * totalAssetsUnadjusted\n }\n\n let annualizedCYVal = row.sheet === 'pnl' ? annualizedCY(row) : null;\n let deltaDollarVal = deltaDollarValue(row, annualizedCYVal)\n let deltaPercentVal = deltaPercentColumn(row, annualizedCYVal)\n\n let analyticScopeVal = analyticScope(row, annualizedCYVal)\n let explainationVariances = auditInfo ? auditInfo.explaination_variances : '';\n let quantSigVal = quantitativelySignificant(row)\n let qualSigVal = auditInfo ? auditInfo.qualitatively_significant : '';\n let scopeInForTestVal = scopedInForTesting(quantSigVal, qualSigVal)\n let cx7form = auditInfo ? auditInfo.cx7form : '';\n let comment = auditInfo ? auditInfo.comment : '';\n\n let hideRow = '';\n let zeroYears = [];\n props.yearRange.forEach(y => { row[y] === 0 && Math.abs(row['you' + y]).toFixed(1) === '0.0' && Math.abs(row['avg' + y]).toFixed(1) === '0.0' ? zeroYears.push(y) : null })\n zeroYears.length === props.yearRange.length ? hideRow = row.copy : null\n let rowKey = row.key ? `${row.sheet}-${row.key}-report-row` : `${row.sheet}-${row.header_key}-report-row`\n\n return (\n \n \n \n {row.key\n ? ()\n : null}\n \n {row.copy === 'Current Liabilities'\n ? {row.copyWithPadding}\n : {row.copyWithPadding}}\n {props.yearRange.map((year, ii) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n if (ii % 2 === 0) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n try {\n // return blank td's if on a header\n if (Object.keys(row).length > 2) {\n let arrowColumn = '';\n let yearValue = parseMoney(row[year]);\n return (\n \n \n {yearValue}\n \n \n )\n } else {\n return (\n \n \n \n )\n }\n } catch (error) {\n console.log(error, 'err')\n return ();\n }\n })}\n {parseMoney(annualizedCYVal)}\n {deltaDollarVal}\n\n {deltaPercentVal}\n\n {row.key ? analyticScopeVal : null}\n \n {row.key\n ? \n : null}\n \n {row.key ? quantSigVal : null}\n \n \n {row.key\n ? ()\n : null}\n \n {row.key ? scopeInForTestVal : null}\n \n {row.key\n ? \n : null}\n \n \n {row.key\n ? \n : null}\n \n \n )\n })\n }\n\n const renderYearHeaderColumns = (years) => {\n const currentYear = new Date().getFullYear();\n let youPeersRow = [];\n let formatedYearsRow = [];\n\n years.forEach((y, i) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = { 'borderBottom': '2px solid black' }\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n let youDate;\n if (i === 1) {\n let endDate = getLastDayOfMonth(y, props.selectedMonth)\n youDate = moment(endDate).format('L');\n } else {\n if (props.compareWith === 'Final PY') {\n youDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${y}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${y + 1}` : `12/31/${y}`;\n } else {\n let year = props.compareWithSplit ? Number(props.compareWithSplit[1]) : null;\n youDate = year ? `12/31/${year}` : `12/31/${y}`\n }\n }\n\n if (i % 2 === 0) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell'\n }\n\n formatedYearsRow.push(\n \n {youDate}\n \n )\n })\n\n let theads = {\n \"position\": \"sticky\",\n \"top\": \"0px\",\n \"zIndex\": \"2\",\n \"backgroundColor\": \"white\"\n }\n\n let borderBottomStyle = {\n \"borderBottom\": \"2px solid black\"\n }\n\n return (\n \n \n Overall Expectation:\n \n \n \n \n \n \n \n \n \n \n \n \n \n Months\n # of Months\n TM\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n props.dollarChangeInput(e.target.value)} />\n \n \n \n props.percentChangeInput(e.target.value)} />\n \n \n \n \n \n \n \n \n \n \n Preliminary Risk Assessment\n \n {props.compareWith}\n Unadjusted CY\n Annualized CY\n $ Change\n % Change\n Meet Analytic Scope\n Explanation of Variances\n Quantitatively Significant\n Qualitatively Significant\n Scoped-in for Testing?\n Risk Assessment Form\n Comment\n \n \n \n \n {formatedYearsRow}\n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n function buildTable() {\n const auditDetailClass = {\n 'fontWeight': 600,\n 'textAlign': 'right'\n }\n return (\n
    \n

    {props.title} - {props.clientName}

    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Client:{props.clientName}
    Scenario:{props.auditScenario['name']}
    Purpose:1) To obtain an understanding of the business and its environment to help assess the risk of material misstatement in order to determine the nature, timing and extent of audit procedures.
    2) To determine accounts to scope-in for testing.
    Procedures:1) Obtain unadjusted trial balance and compare to prior year final trial balance (grouped by financial statement line item).
    2) Determine preliminary risk assessment.
    3) Explain all variances that meet the analytic scoping threshold.
    4) If FS line item is not quantitatively significant, determine if qualitatively significant.
    5) Determine which risk assessment form the FS line item is covered by.
    Analytic Scope:Variances greater than tolerable misstatement (\"TM\") and 10%.
    Testing Scope:Accounts balances greater than tolerable misstatement (i.e., performance materiality) or are qualitatively significant (e.g., assessed as High Risk, etc.).
    Conclusion:See below for results. Additionally, accounts scoped-in will be re-assessed for testing based on final trial balance using the Final Analytics worksheet.
    \n\n
    \n\n \n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n
    \n
    \n
    \n )\n }\n\n return (buildTable())\n}\n\nexport default AuditWPAnalytics;\n","import React, { useState, useEffect } from 'react';\nimport { createMoneyFormat, parseMoney, percentify } from '../../utils';\nimport moment from 'moment';\nimport AuditScenarios from './AuditScenarios';\n\nconst defaultExpenseScenario = {\n id: 'expense-default',\n name: 'Default',\n report_type: 'expense-analytics',\n created_by: '',\n updated_by: '',\n updated_at: '',\n version: 1,\n data: {\n dollar_change: {\n integer: 10000,\n text: \"$10,000\"\n },\n percent_change: {\n integer: 10,\n text: \"10%\"\n },\n audit_data: [{\n sheet: \"pnl\",\n key: \"total_compensation\",\n expectation: 'Just as expected.',\n expectation_met: 'Yes',\n imm: '',\n comments: 'My comment here.'\n }\n ]\n }\n}\n\nconst AuditExpenseAnalytics = (props) => {\n const [auditExpenseScenario, setAuditExpenseScenario] = useState(props.auditScenario)\n const [showDetails, setShowDetails] = useState(false)\n useEffect(() => {\n setAuditExpenseScenario(() => {\n return props.auditScenario\n })\n }, [props.auditScenario])\n\n const handleAuditInfo = (key, sheet, type, value) => {\n const auditDataExists = auditExpenseScenario['data']['audit_data'].find(a => a.key === key)\n\n if (auditDataExists) {\n const newAuditData = auditExpenseScenario['data']['audit_data'].map((a) => {\n if (a.key === key) {\n a[type] = value\n }\n return a\n })\n\n setAuditExpenseScenario((prevState) => {\n let newAuditScenario = prevState.data\n newAuditScenario['audit_data'] = newAuditData\n return {\n ...prevState,\n data: newAuditScenario\n }\n }) \n } else {\n const newAuditDataObj = {\n sheet: sheet,\n key: key\n }\n \n newAuditDataObj['expectation'] = ''\n newAuditDataObj['expectation_met'] = ''\n newAuditDataObj['imm'] = ''\n newAuditDataObj['comments'] = ''\n \n newAuditDataObj[type] = value\n setAuditExpenseScenario((prevState) => {\n let newAuditScenario = prevState.data\n newAuditScenario['audit_data'] = [newAuditDataObj, ...newAuditScenario['audit_data']]\n return {\n ...prevState,\n data: newAuditScenario\n }\n })\n\n }\n }\n\n const deltaDollarValue = (row) => {\n let finalVal = null\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n finalVal = row[props.yearRange[1]] - row[props.yearRange[0]]\n }\n return finalVal\n }\n\n const expectedExpenseValue = (row) => {\n let totalRev = props.rows.find(r => r.key == 'total_revenue')\n let totalRevCurrentYear = totalRev ? [props.yearRange[1]] : 0\n let previousYearPercentOfRev = row[`you${props.yearRange[0]}`] / 100\n return previousYearPercentOfRev * totalRevCurrentYear\n }\n\n const varianceActualVsEstimated = (row, expectedExpenseVal = 0) => {\n return row[props.yearRange[1]] - expectedExpenseVal\n }\n\n const additionalScopingMet = (varianceVS, deltaDollarVal, deltaPercentVal) => {\n if (varianceVS) {\n let varianceVsVal = Math.abs(varianceVS);\n return (varianceVsVal > 0 && varianceVsVal > 39000) ? 'Yes' : 'No'\n } else {\n return (Math.abs(deltaPercentVal) > 0.10 && Math.abs(deltaDollarVal) > 39000) ? 'Yes' : 'No'\n }\n\n }\n\n const deltaFixedPercentValue = (row) => {\n let finalVal = null\n if (_.isNumber(row[props.yearRange[0]]) || _.isNumber(row[props.yearRange[1]])) {\n let deltaVal = row[props.yearRange[1]] - row[props.yearRange[0]]\n finalVal = row[props.yearRange[0]] ? ((deltaVal / row[props.yearRange[0]]) * 100) : 100;\n }\n return finalVal\n }\n\n const deltaPercentColumn = (row) => {\n let finalVal = null\n if (_.isNumber(row[`you${props.yearRange[0]}`]) || _.isNumber(row[`you${props.yearRange[1]}`])) {\n let deltaVal = row[`you${props.yearRange[1]}`] - row[`you${props.yearRange[0]}`]\n finalVal = deltaVal ? deltaVal.toFixed(0) + '%' : '100%';\n }\n return finalVal\n }\n\n function buildRows() {\n let previousYearTotalVal = props.rows.reduce((a, b) => b[props.yearRange[0]] ? a + b[props.yearRange[0]] : a + 0, 0)\n let currentYearTotalVal = props.rows.reduce((a, b) => b[props.yearRange[1]] ? a + b[props.yearRange[1]] : a + 0, 0)\n\n return props.rows.map((row, i) => {\n let underlineFormat, toplineFormat, backColor;\n if (row.key !== 'total_revenue') {\n if (row.header_key || row.key === 'total_all_expenses') {\n backColor = '#bfe0ae';\n toplineFormat = 'solid 1px';\n underlineFormat = 'solid 1px';\n }\n\n const copyStyle = {\n 'backgroundColor': backColor,\n borderBottom: underlineFormat,\n borderTop: toplineFormat,\n height: '30px'\n }\n\n let auditInfo = props.auditScenario['data']['audit_data'].find((a) => a.key === row.key);\n let expectation = auditInfo ? auditInfo.expectation : '';\n let expectationMet = auditInfo ? auditInfo.expectation_met : '';\n let immVal = auditInfo ? auditInfo.imm : '';\n let comments = auditInfo ? auditInfo.comments : '';\n let deltaPercentVal = deltaPercentColumn(row)\n let expectedExpenseVal = row.expenseType === 'variable' ? expectedExpenseValue(row) : null;\n let varianceVsVal = row.expenseType === 'variable' ? varianceActualVsEstimated(row, expectedExpenseVal) : null;\n let deltaDollarVal = row.expenseType === 'fixed' ? deltaDollarValue(row) : null\n let deltaFixedPercentVal = row.expenseType === 'fixed' ? deltaFixedPercentValue(row) : null\n let additionalScopeVal = additionalScopingMet(varianceVsVal, deltaDollarVal, deltaFixedPercentVal)\n let hideRow = '';\n let zeroYears = [];\n props.yearRange.forEach(y => { row[y] === 0 && Math.abs(row['you' + y]).toFixed(1) === '0.0' && Math.abs(row['avg' + y]).toFixed(1) === '0.0' ? zeroYears.push(y) : null })\n zeroYears.length === props.yearRange.length ? hideRow = row.copy : null\n const displayCellValue = row.key && row.key !== 'total_all_expenses'\n const rowKey = row.key ? `${row.sheet}-${row.key}-expense` : `${row.sheet}-${row.header_key}-expense`\n\n return (\n \n {row.copy}\n \n {displayCellValue ? parseMoney(row[props.yearRange[0]]) : row.key === 'total_all_expenses' ? parseMoney(previousYearTotalVal) : null}\n \n \n {displayCellValue ? percentify(row[`you${props.yearRange[0]}`]) : null}\n \n \n {displayCellValue ? parseMoney(row[props.yearRange[1]]) : row.key === 'total_all_expenses' ? parseMoney(currentYearTotalVal) : null}\n \n \n {displayCellValue ? percentify(row[`you${props.yearRange[1]}`]) : null}\n \n \n {displayCellValue\n ? \n : null}\n \n \n {displayCellValue ? deltaPercentVal : null}\n \n \n \n {displayCellValue\n ? ()\n : null}\n \n \n \n {displayCellValue\n ? ()\n : null}\n \n {parseMoney(expectedExpenseVal)}\n {parseMoney(varianceVsVal)}\n {parseMoney(deltaDollarVal)}\n {deltaFixedPercentVal ? deltaFixedPercentVal.toFixed(0) + '%' : null}\n \n {displayCellValue ? additionalScopeVal : null}\n \n \n {displayCellValue\n ? \n : null}\n \n \n )\n }\n })\n }\n\n const renderYearHeaderColumns = (years) => {\n const currentYear = new Date().getFullYear();\n let youPeersRow = [];\n let formatedYearsRow = [];\n let backgroundStyle = { 'borderBottom': '2px solid black', 'maxHeight': '10px' }\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n\n let theads = {\n \"position\": \"sticky\",\n \"top\": \"0px\",\n \"zIndex\": \"2\",\n \"backgroundColor\": \"white\"\n }\n\n let borderBottomStyle = {\n \"borderBottom\": \"2px solid black\"\n }\n let previousYearDate;\n // let previousYearDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${years[0]}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${years[0] + 1}` : `12/31/${years[0]}`;\n if (props.compareWith === 'Final PY') {\n previousYearDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${years[0]}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${years[0] + 1}` : `12/31/${years[0]}`;\n } else {\n let year = props.compareWithSplit ? Number(props.compareWithSplit[1]) : null;\n previousYearDate = year ? `12/31/${year}` : `12/31/${years[0]}`\n }\n let currentYearDate = props.companyYTDDate;\n\n return (\n \n \n \n \n \n \n \n TM\n \n \n \n \n \n \n \n \n \n \n \n \n {props.compareWith}\n \n \n \n \n \n props.dollarChangeInput(e.target.value)} />\n \n \n \n props.percentChangeInput(e.target.value)} />\n \n \n \n Variable Expenses\n Fixed Expenses\n \n \n \n \n \n {previousYearDate}\n Total as % of Revenues\n {currentYearDate}\n Total as % of Revenues\n Expectation\n Change in % of Total as % of Revenues YOY\n Expectation Met?\n \n Expected Expense (based on Total Revenues)\n Variance Actual vs Estimated\n $ Change\n % Change\n Additional Scoping Threshold Met?\n Comments\n \n \n )\n }\n\n function buildTable() {\n const auditDetailClass = {\n 'fontWeight': 600,\n 'textAlign': 'right'\n }\n return (\n
    \n

    {props.title} - {props.clientName}

    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Client:{props.clientName}
    Scenario:{props.auditScenario['name']}
    Purpose:To compare the Current Year (CY) expenses to Previous Year (PY) and identify any significant variances.
    Procedures:Obtain explanations for changes above TM scope. Expense category expectations are split between either fixed or variable expenses.
    Note:1) Variable expenses are expenses that change depending on how much you use a product or service.
    2) Fixed costs stay the same over an extended period of time.
    Expectation:Any change in % of total as a % of revenues YOY that is less than 10% is deemed immaterial.
    Additional Scoping Threshold:For expenses considered variable, the expectation of the expense incurred during the year in relation to changes in revenue. Any variance from the calculated expected expense greater than TM $Change will be investigated.
    For expenses considered fixed, any balance changes greater than TM of $Change and 10% wil be investigated.
    Conclusion:See below for results. Based on the results of the analytics, ...
    \n\n
    \n \n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n
    \n
    \n
    \n )\n }\n\n return (buildTable())\n}\n\nexport default AuditExpenseAnalytics;\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport AccountTree from '../../utils/AccountTree';\nimport { CommonSizeArrows } from './MoneyHelpers';\nimport MoneyAnnualTable from './MoneyAnnualTable';\nimport AuditWPAnalytics from '../AuditReport/AuditWPAnalytics';\nimport AuditExpenseAnalytics from '../AuditReport/AuditExpenseAnalytics';\n\nconst compareWithRowKeys = {\n 'None': null,\n 'Practice': 'practice_avg',\n 'Peers': 'avg',\n 'NSCHBC': 'nschbc'\n}\nconst doctorsNAICS = ['621', '6211', '6213'];\n\nconst MoneyReportSheets = (props) => {\n let calcs\n const { filters } = useContext(Filters);\n let compareToAvg\n if (props.page === 'practice') {\n calcs = props.calcs\n compareToAvg = 'avg'\n } else {\n const useData = useContext(Data);\n calcs = useData.calcs\n compareToAvg = compareWithRowKeys[filters.compare_with]\n }\n\n let compareWithSplit, compareWith = null;\n if (props.page === 'audit') {\n compareWith = filters.compare_with === 'YOY' ? 'Final PY' : filters.compare_with\n if (filters.compare_with === 'YOY' || filters.compare_with === 'YOY:Default') {\n compareWith = 'Final PY'\n } else {\n let colonExists = filters.compare_with.includes(':')\n compareWithSplit = colonExists ? filters.compare_with.split(':') : filters.compare_with\n compareWith = colonExists ? compareWithSplit[0] : filters.compare_with\n compareWith = compareWith === 'Peers' ? 'Peers PY' : compareWith\n }\n }\n\n const mappedTotal = (row, years, you, avg, key) => {\n let totalObj = {}\n totalObj['key'] = key\n years.forEach(year => {\n let youTotalRevenue = you['total_revenue'][year]\n let compareTotalRevenue = avg['total_revenue'] ? avg['total_revenue'][year] : 0\n let youSum = 0;\n let avgSum = 0\n\n if (key === 'salaries_non_owners') {\n let youTotalCompensation = you['total_compensation'][year]\n let compareTotalCompensation = avg['total_compensation'] ? avg['total_compensation'][year] : 0\n let youSalariesDoctor = 0\n let compareSalariesDoctor = 0\n\n if (props.naicsCode && props.naicsCode.startsWith('6212')) {\n youSalariesDoctor = you['dentist'][year] ? you['dentist'][year] : 0\n compareSalariesDoctor = avg['dentist'][year] ? avg['dentist'][year] : 0\n } else if (props.naicsCode && doctorsNAICS.some(naics => props.naicsCode.startsWith(naics))) {\n youSalariesDoctor = you['total_compensation_doctor'] ? you['total_compensation_doctor'][year] : 0\n compareSalariesDoctor = avg['total_compensation_doctor'] ? avg['total_compensation_doctor'][year] : 0\n }\n\n youSum = youTotalCompensation - youSalariesDoctor\n avgSum = compareTotalCompensation - compareSalariesDoctor\n } else {\n row.map_keys.forEach((c) => {\n youSum += you[c] ? you[c][year] : 0\n avgSum += avg[c] ? avg[c][year] : 0\n })\n }\n\n totalObj[year] = youSum;\n totalObj['you' + year] = (youSum / youTotalRevenue) * 100;\n totalObj['avgVal' + year] = avgSum;\n totalObj['avg' + year] = (avgSum / compareTotalRevenue) * 100;\n let yearStatusKey = 'status' + year\n totalObj[yearStatusKey] = CommonSizeArrows(totalObj['you' + year], totalObj['avg' + year], key)\n })\n return totalObj\n }\n\n const totalNAICSFocused = (rows, years, you, avg, key) => {\n let childrenObjs = rows.filter(r => r.parentKey === key)\n let totalObj = {}\n let childrenValues = []\n childrenObjs.forEach((c) => {\n childrenValues.push(mappedTotal(c, years, you, avg, c.key))\n })\n\n years.forEach(year => {\n let youTotalRevenue = you['total_revenue'][year]\n let compareTotalRevenue = avg['total_revenue'] ? avg['total_revenue'][year] : 0\n let youSum = 0;\n let avgSum = 0\n childrenValues.forEach((c) => {\n youSum += c[year] ? c[year] : 0\n avgSum += c['avgVal' + year] ? c['avgVal' + year] : 0\n })\n totalObj[year] = youSum;\n totalObj['you' + year] = (youSum / youTotalRevenue) * 100;\n totalObj['avgVal' + year] = avgSum;\n totalObj['avg' + year] = (avgSum / compareTotalRevenue) * 100;\n let yearStatusKey = 'status' + year\n totalObj[yearStatusKey] = CommonSizeArrows(totalObj['you' + year], totalObj['avg' + year], key)\n })\n return totalObj\n }\n\n const DentistDoctorPNLVals = (rows, calcs, years, row) => {\n const you = calcs.you;\n const avg = filters.compare_with === 'NSCHBC' ? calcs.nschbc : calcs.docs_avg;\n let rowObj = null;\n row.copyWithPadding = row.padding + row.copy\n let yearValues;\n\n if (row.total) {\n rowObj = totalNAICSFocused(rows, years, you, avg, row.key)\n } else if (row.key === 'gross_profit') {\n rowObj = {}\n let totalDirectCosts = totalNAICSFocused(rows, years, you, avg, 'total_direct_costs')\n years.forEach(year => {\n let youTotalRevenue = you['total_revenue'][year]\n let compareTotalRevenue = avg['total_revenue'] ? avg['total_revenue'][year] : 0\n rowObj[year] = youTotalRevenue - totalDirectCosts[year]\n rowObj['you' + year] = (rowObj[year] / youTotalRevenue) * 100\n rowObj['avgVal' + year] = compareTotalRevenue - totalDirectCosts['avgVal' + year]\n rowObj['avg' + year] = (rowObj['avgVal' + year] / compareTotalRevenue) * 100\n let yearStatusKey = 'status' + year\n rowObj[yearStatusKey] = CommonSizeArrows(rowObj['you' + year], rowObj['avg' + year], row.key)\n })\n } else if (row.key === 'operating_expenses_net_income') {\n rowObj = {}\n let totalDirectCosts = totalNAICSFocused(rows, years, you, avg, 'total_direct_costs')\n let totalAdminCosts = totalNAICSFocused(rows, years, you, avg, 'total_administrative_costs')\n years.forEach(year => {\n let youTotalRevenue = you['total_revenue'][year]\n let compareTotalRevenue = avg['total_revenue'] ? avg['total_revenue'][year] : 0\n rowObj[year] = youTotalRevenue - totalDirectCosts[year] - totalAdminCosts[year]\n rowObj['you' + year] = (rowObj[year] / youTotalRevenue) * 100\n rowObj['avgVal' + year] = compareTotalRevenue - totalDirectCosts['avgVal' + year] - totalAdminCosts['avgVal' + year]\n rowObj['avg' + year] = (rowObj['avgVal' + year] / compareTotalRevenue) * 100\n let yearStatusKey = 'status' + year\n rowObj[yearStatusKey] = CommonSizeArrows(rowObj['you' + year], rowObj['avg' + year], row.key)\n })\n } else if (row.key === 'salaries_non_owners') {\n rowObj = {}\n years.forEach(year => {\n let youTotalRevenue = you['total_revenue'][year]\n let compareTotalRevenue = avg['total_revenue'] ? avg['total_revenue'][year] : 0\n let youTotalCompensation = you['total_compensation'][year]\n let compareTotalCompensation = avg['total_compensation'] ? avg['total_compensation'][year] : 0\n let youSalariesDoctor = 0\n let compareSalariesDoctor = 0\n\n if (props.naicsCode && props.naicsCode.startsWith('6212')) {\n youSalariesDoctor = you['dentist'][year] ? you['dentist'][year] : 0\n compareSalariesDoctor = avg['dentist'][year] ? avg['dentist'][year] : 0\n } else if (props.naicsCode && doctorsNAICS.some(naics => props.naicsCode.startsWith(naics))) {\n youSalariesDoctor = you['total_compensation_doctor'] ? you['total_compensation_doctor'][year] : 0\n compareSalariesDoctor = avg['total_compensation_doctor'] ? avg['total_compensation_doctor'][year] : 0\n }\n\n rowObj[year] = youTotalCompensation - youSalariesDoctor\n rowObj['you' + year] = (rowObj[year] / youTotalRevenue) * 100\n\n rowObj['avgVal' + year] = compareTotalCompensation - compareSalariesDoctor\n rowObj['avg' + year] = (rowObj['avgVal' + year] / compareTotalRevenue) * 100\n\n let yearStatusKey = 'status' + year\n rowObj[yearStatusKey] = CommonSizeArrows(rowObj['you' + year], rowObj['avg' + year], row.key)\n })\n } else {\n if (row.key) {\n rowObj = mappedTotal(row, years, you, avg, row.key)\n } else {\n return row;\n }\n }\n\n return rowObj;\n }\n\n function buildRowData(sheet, commonKey) {\n let allRows = []\n if (props.page === 'audit' && props.reportType === 'wp-analytics') {\n let auditRows = [...props.balance_sheet_rows, { emptyRow: true }, ...props.pnl_rows]\n auditRows.forEach((row) => {\n let commonKey = row.sheet === 'pnl' ? 'revenue' : 'assets'\n row.emptyRow ? allRows.push(row) : allRows.push(buildRow({ ...row, commonKey }))\n })\n } else if (props.page === 'audit' && props.reportType === 'expense-analytics') {\n let fixedKeys = ['total_people_costs', 'total_compensation', 'total_taxes_and_benefits', 'payroll_taxes', 'health_insurance', 'retirement_plan', 'total_corporate_culture', 'subcontractor_expenses', 'people_misc_professional_fees', 'insurance_expenses', 'rent_and_facilities_costs', 'depreciation_and_amortization']\n let auditFixedRows = [{ header: true, copy: 'Fixed Expenses:', header_key: 'fixed_expenses_header', sheet: 'pnl' }]\n let auditVariableRows = [{ header: true, copy: 'Variable Expenses:', header_key: 'variable_expenses_header', sheet: 'pnl' }]\n let nonExpenseKeys = ['gross_profit', 'total_operating_expenses_header', 'total_operating_expenses', 'operating_profit', 'operating_expenses_net_income']\n props.pnl_rows.forEach((row) => {\n if (fixedKeys.includes(row.key) && !row.header || fixedKeys.includes(row.parentKey) && !row.header) {\n let expenseType = 'fixed'\n auditFixedRows.push(buildRow({ ...row, commonKey, expenseType }))\n } else if (!nonExpenseKeys.includes(row.key) && !row.header) {\n let expenseType = 'variable'\n auditVariableRows.push(buildRow({ ...row, commonKey, expenseType }))\n }\n })\n allRows = [...auditFixedRows, ...auditVariableRows, { header: false, copy: 'Total', key: 'total_all_expenses', sheet: 'pnl' }]\n\n } else if (props.page === 'naics_focused' || props.page === 'naics_focused-moneypdf') {\n props.rows.forEach((row) => {\n let rowValues = DentistDoctorPNLVals(props.rows, calcs, props.yearRange, row)\n let newRow = { ...row, ...rowValues }\n allRows.push(newRow)\n })\n } else {\n if (props.page === 'money' && sheet === 'pnl' && props.naicsCode && props.naicsCode.startsWith('621')) {\n const healthCareRevenueChildKeys = [\n { key: 'total_revenue_gross_charges', copy: 'Gross Charges' },\n { key: 'total_revenue_adjustments', copy: 'Adjustments' },\n { key: 'total_revenue_net_practice charges', copy: 'Net Practice Charges' },\n { key: 'total_revenue_collections', copy: 'Collections' }\n ]\n\n healthCareRevenueChildKeys.forEach(k => {\n allRows.push(buildRow({\n key: k.key,\n copy: k.copy,\n header: false,\n padding: '',\n parentKey: 'total_revenue',\n sheet: 'pnl',\n commonKey: 'revenue',\n alwaysDisplayRow: true\n }))\n })\n allRows.push(buildRow({\n key: 'space_before_revenue',\n copy: '',\n header: false,\n padding: '',\n sheet: 'pnl',\n emptyRow: true\n }))\n }\n\n if (props.rows) {\n props.rows.forEach((row) => {\n allRows.push(buildRow({ ...row, commonKey }))\n })\n } else {\n const accountTree = new AccountTree({\n tree: props.tree[sheet],\n page: props.page === 'practice' || props.page === 'moneypdf' ? 'money' : props.page,\n sheet: props.sheet\n })\n accountTree.forEach((row) => {\n allRows.push(buildRow({ ...row, commonKey }))\n })\n }\n }\n return allRows.filter(Boolean)\n };\n\n function buildRow({ key = '', relatedCheckedKey = '', copy = '', header = false, header_is_total = false, padding = '', parentKey = '', forecast = '', checked = '', displayChart = '', chartCalculationName = '', sheet = '', commonKey = '', expenseType = null, emptyRow = false, topline = null, alwaysDisplayRow = false }) {\n const row = {}\n\n if (emptyRow) {\n row.emptyRow = emptyRow\n } else {\n row.relatedCheckedKey = relatedCheckedKey\n row.copy = copy\n row.copyWithPadding = padding + copy\n row.chartCalculationName = chartCalculationName\n row.checked = checked\n row.displayChart = displayChart\n row.sheet = sheet\n row.expenseType = expenseType\n row.topline = topline\n row.alwaysDisplayRow = alwaysDisplayRow\n\n // forecast is from the tree and has line styles for certain keys that will go across the sheet\n if (forecast) {\n row.forecast = forecast\n }\n\n if (!header || header_is_total) {\n // table data\n props.yearRange.forEach((year, i) => {\n try {\n if (props.commonSizeTable) {\n row[year] = calcs[compareToAvg][key + '_common_size_' + commonKey][year] * 100\n } else {\n row['key'] = key\n row['commonKey'] = commonKey\n\n if (props.page === 'audit' && i === 0 && filters['compare_with'] !== 'YOY' && filters['compare_with'] !== 'YOY:Default' && filters['compare_with'] !== 'Peers:Default' && filters['compare_with'] !== 'Peers') {\n row[year] = props.forecastVals[key] ? props.forecastVals[key] : null;\n } else {\n row[year] = calcs.you[key] ? calcs.you[key][year] : 0;\n }\n\n ['you', compareToAvg].forEach(c => {\n if (c) {\n let yearKey = ['practice_avg', 'nschbc'].includes(c) ? 'avg' + year : c + year;\n\n if (key === 'operating_expenses_net_income' && sheet === 'balance_sheet') {\n row[yearKey] = (calcs[c]['operating_expenses_net_income'][year] / calcs[c]['total_assets'][year]) * 100\n } else {\n if (calcs[c][key + '_common_size_' + row.commonKey] === undefined || calcs[c][key + '_common_size_' + row.commonKey][year] === null) {\n row[yearKey] = 0\n } else {\n if (isNaN(calcs[c][key + '_common_size_' + row.commonKey][year])) {\n row[yearKey] = 0\n } else {\n row[yearKey] = calcs[c][key + '_common_size_' + row.commonKey][year] * 100\n }\n }\n }\n }\n })\n\n if (compareToAvg && props.page !== 'audit') {\n let yearStatusKey = 'status' + year\n row[yearStatusKey] = CommonSizeArrows(row['you' + year], row['avg' + year], key, parentKey)\n }\n\n }\n } catch (err) {\n console.log(err, 'err')\n row[year] = null\n }\n });\n } else {\n row.header_key = key + 'header'\n }\n }\n return row\n }\n // we (for yearly) are doing this:\n // we get the calcs in an object each you: avg: min: max:\n // this contain all of the 700 metrics and something for each year\n // it turns into a row that has spaces for each of the years\n // lets do the same thing but with months too\n\n const rows = buildRowData(props.sheet, props.commonKey)\n\n if (props.page !== 'audit' && props.page !== 'moneypdf' && props.page !== 'naics_focused-moneypdf') {\n return (\n \n )\n } else if (props.page === 'moneypdf' || props.page === 'naics_focused-moneypdf') {\n if (props.yearRange.length === 2) {\n return (\n
    \n \n
    \n )\n } else if (props.yearRange.length > 2 && rows.length > 35) {\n let first30 = rows.slice(0, 35)\n let second30 = rows.slice(35)\n return (\n <>\n
    \n \n
    \n
    \n \n
    \n \n )\n } else if (props.yearRange.length > 2 && rows.length <= 35) {\n return (\n
    \n \n
    \n )\n }\n } else if (props.page === 'audit' && props.reportType === 'wp-analytics') {\n return (\n \n )\n } else if (props.page === 'audit' && props.reportType === 'expense-analytics') {\n return (\n \n )\n }\n}\nexport default MoneyReportSheets;\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\n\n// This Year vs. Last Year Comparison\n// Actual (This Year) vs. Monthly Forecast Scenario\nconst CustomQuarterYTDReport = (props) => {\n const { monthly_calcs, previousYearCalcs } = useContext(Data);\n const thisYear = monthly_calcs.you;\n const lastYear = previousYearCalcs ? previousYearCalcs.you : {};\n const forecastVals = props.forecastVals;\n\n if (props.quarterMonths) {\n let quarterLabel = props.quarterMonths[0]\n let quarterMs = props.quarterMonths[1]\n const endMonth = Math.max(...quarterMs);\n const ytdMonths = Array.from({ length: endMonth }, (_, i) => i + 1);\n const cellStyle = {\n borderBottom: 'solid 1px'\n }\n \n const renderHeaderColumns = () => {\n return (\n \n \n {quarterLabel}\n {props.tabKey === 'ty_v_ly' ? `${props.year} and ${props.year - 1}` : `${props.year}`}\n Year to Date\n \n \n {props.compareTitles[0]}\n \n {props.compareTitles[1]}\n \n $Var\n %Var\n \n {props.compareTitles[0]}\n \n {props.compareTitles[1]}\n \n $Var\n %Var\n \n \n )\n }\n \n let firstRevenueQuarterVal = quarterMs.reduce((sum, month) => {\n return sum + (thisYear['total_revenue'][month] || 0);\n }, 0);\n let secondRevenueQuarterVal = quarterMs.reduce((sum, month) => {\n return sum + (lastYear['total_revenue'][month] || 0);\n }, 0);\n let firstRevenueYTDVal = ytdMonths.reduce((sum, month) => {\n return sum + (thisYear['total_revenue'][month] || 0);\n }, 0);\n let secondRevenueYTDVal = ytdMonths.reduce((sum, month) => {\n return sum + (lastYear['total_revenue'][month] || 0);\n }, 0);\n \n const buildRows = () => {\n return props.rows.map((row, i) => {\n const copyCellStyle = {}\n let underlineFormat = '';\n let toplineFormat = '';\n let firstQuarterVal = 0\n let secondQuarterVal = 0\n let firstYTDVal = 0\n let secondYTDVal = 0\n \n if (!row.header) {\n firstQuarterVal = quarterMs.reduce((sum, month) => {\n return sum + (thisYear[row.key][month] || 0);\n }, 0);\n firstYTDVal = ytdMonths.reduce((sum, month) => {\n return sum + (thisYear[row.key][month] || 0);\n }, 0);\n if (props.tabKey === 'ty_v_ly') {\n secondQuarterVal = quarterMs.reduce((sum, month) => {\n return sum + (lastYear[row.key][month] || 0);\n }, 0);\n secondYTDVal = ytdMonths.reduce((sum, month) => {\n return sum + (lastYear[row.key][month] || 0);\n }, 0);\n } else {\n if (forecastVals[row.key]) {\n secondQuarterVal = quarterMs.reduce((sum, month) => {\n return sum + (forecastVals[row.key][month] || 0);\n }, 0);\n secondYTDVal = ytdMonths.reduce((sum, month) => {\n return sum + (forecastVals[row.key][month] || 0);\n }, 0);\n }\n }\n }\n \n const forecast = row.forecast?.total || row.forecast;\n if (forecast) {\n if (forecast.boldedUnderline || forecast.underline) {\n underlineFormat = 'solid 1px';\n copyCellStyle['textDecoration'] = 'underline';\n } else if (forecast.doubleUnderline) {\n underlineFormat = 'double 1px';\n copyCellStyle['textDecoration'] = 'underline';\n }\n \n if (forecast.topline) {\n toplineFormat = 'solid 1px'\n copyCellStyle['textDecoration'] = 'underline';\n }\n }\n \n if (row.topline) {\n toplineFormat = 'solid 1px';\n copyCellStyle['textDecoration'] = 'underline';\n }\n \n const copyRowStyle = {\n borderBottom: underlineFormat,\n borderTop: toplineFormat\n };\n \n let hideRow = '';\n if (row.emptyRow || row.header) {\n return (\n \n \n \n \n \n \n \n {row.copy}\n \n \n \n \n \n \n \n )\n } else {\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n let valueCellClass = '';\n \n let varPercent1 = ((firstQuarterVal - secondQuarterVal) / secondQuarterVal) || 0\n let varPercent2 = ((firstYTDVal - secondYTDVal) / secondYTDVal) || 0\n return (\n \n {parseMoney(firstQuarterVal)}\n {((firstQuarterVal / firstRevenueQuarterVal) * 100).toFixed(2) + '%'}\n {parseMoney(secondQuarterVal)}\n {((secondQuarterVal / secondRevenueQuarterVal) * 100).toFixed(2) + '%'}\n {parseMoney(firstQuarterVal - secondQuarterVal)}\n {(varPercent1 * 100).toFixed(2) + '%'}\n {row.copy}\n {parseMoney(firstYTDVal)}\n {((firstYTDVal / firstRevenueYTDVal) * 100).toFixed(2) + '%'}\n {parseMoney(secondYTDVal)}\n {((secondYTDVal / secondRevenueYTDVal) * 100).toFixed(2) + '%'}\n {parseMoney(firstYTDVal - secondYTDVal)}\n {(varPercent2 * 100).toFixed(2) + '%'}\n \n )\n }\n })\n }\n \n if (props.pdf) {\n // 'report-pdf-landscape'\n let clientNames = props.realName ? `${props.realName} / ${props.clientName}` : props.clientName\n let printViewClass = 'money-pdf-portrait'\n \n return (\n
    \n
    \n
    \n
    \n

    {props.title}

    \n

    {clientNames}

    \n
    \n
    \n \n {renderHeaderColumns()}\n \n {buildRows()}\n \n
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n let tableID = `new-annual-table-${props.sheet}`\n return (\n
    \n
    \n
    \n \n {renderHeaderColumns()}\n \n {buildRows()}\n \n
    \n
    \n
    \n
    \n )\n }\n } else {\n return (
    This report requires Monthly Data.
    )\n }\n}\n\nexport default CustomQuarterYTDReport;","import React from 'react'\n\nconst Filler = (props) => {\n return
    \n}\n\nexport default Filler\n","import React, { useState } from 'react';\nimport moment from 'moment';\n\nconst ChatHistory = (props) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const toggleHistory = () => {\n setIsExpanded(!isExpanded);\n };\n\n return (\n
    \n
      \n
    • props.changeChat(e, { id: null })}>\n
      New Chat
      \n
    • \n
    • \n \n {isExpanded ? \"Hide History\" : \"Show History\"}\n
    \n \n {isExpanded && props.allChats && props.allChats.map(c => {\n return (
  • props.changeChat(e, c)} >\n {/*
    {c.title}
    */}\n
    {moment(c.created_at).calendar()}
    \n
  • )\n })}\n {\n isExpanded && props.allChats.length === 0 && (
  • No History
  • )\n }\n \n
    \n )\n}\n\nexport default ChatHistory;","import React, { useState, useRef, useEffect } from 'react';\nimport peerviewLogo from '../../../assets/images/favicon.png';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faThumbsUp, faThumbsDown, faCheck } from '@fortawesome/free-solid-svg-icons';\n\nconst ChatTypewriter = ({ chat, message, text, speed = 40 }) => {\n const [displayedText, setDisplayedText] = useState('');\n const [completedEntries, setCompletedEntries] = useState([]);\n const [currentSection, setCurrentSection] = useState('analysis_metrics_title'); // Tracks the current section\n const [charIndex, setCharIndex] = useState(0); // Tracks the current character being typed\n const [currentMetricIndex, setCurrentMetricIndex] = useState(0); // Tracks the current metric within a section\n const [currentTextIndex, setCurrentTextIndex] = useState(0); // Tracks the current line within a metric\n const [isCompleted, setIsCompleted] = useState(false); // Tracks if all sections are completed\n const timeoutRef = useRef(null);\n const sections = ['analysis_metrics_title', 'analysis_metrics_details', 'analysis_metrics', 'top_5_metrics_title', 'top_5_metrics_details', 'top_5_metrics_total_impact', 'top_5_metrics', 'top_5_summary'];\n\n useEffect(() => {\n if (isCompleted) return; // Stop processing if all sections are completed\n\n if (message.typewriter && message.json_content) {\n const handleTyping = () => {\n const content = message.json_content;\n let textToType = '';\n let currentClass = ''; // Tracks the class to apply\n\n // Determine the text to type based on the current section\n if (currentSection === 'analysis_metrics_title') {\n textToType = content['analysis_metrics_title'] || '';\n currentClass = 'title-class'; // Larger font for titles\n } else if (currentSection === 'analysis_metrics_details') {\n textToType = content['analysis_metrics_details'] || '';\n currentClass = 'analysis-style'\n } else if (currentSection === 'analysis_metrics') {\n const metrics = content['analysis_metrics'] || [];\n if (currentMetricIndex < metrics.length) {\n const currentMetric = metrics[currentMetricIndex];\n const lines = [\n { text: `${currentMetric.metric || ''}`, status: currentMetric.status || null, className: 'metric-style' }, // Bold metric\n { text: `${currentMetric.analysis || ''}`, className: 'analysis-style' } // Margin for analysis\n ];\n const currentLine = lines[currentTextIndex] || {};\n textToType = currentLine.text || '';\n currentClass = currentLine.className || '';\n }\n } else if (currentSection === 'top_5_metrics_title') {\n textToType = content['top_5_metrics_title'] || '';\n currentClass = 'title-class'; // Larger font for titles\n } else if (currentSection === 'top_5_metrics_details') {\n textToType = content['top_5_metrics_details'] || '';\n currentClass = 'top5-style'\n } else if (currentSection === 'top_5_metrics_total_impact') {\n textToType = content['top_5_metrics_total_impact'] || '';\n currentClass = 'top5-total-impact-style'\n } else if (currentSection === 'top_5_metrics') {\n const metrics = content['top_5_metrics'] || [];\n if (currentMetricIndex < metrics.length) {\n const currentMetric = metrics[currentMetricIndex];\n let rank = currentMetricIndex + 1\n const lines = [\n { text: `${rank}. ${currentMetric.metric || ''}`, className: 'metric-style' }, // Bold metric\n { text: `Opportunity: ${currentMetric.opportunity || ''}`, className: '' },\n { text: `Recommendation: ${currentMetric.recommendation || ''}`, className: 'recommendation-style' } // Margin for recommendation\n ];\n const currentLine = lines[currentTextIndex] || {};\n textToType = currentLine.text || '';\n currentClass = currentLine.className || '';\n }\n } else if (currentSection === 'top_5_summary') {\n textToType = content['top_5_summary'] || '';\n currentClass = 'summary';\n }\n\n // Type the text\n if (charIndex < textToType.length) {\n setDisplayedText((prev) => prev + textToType.slice(charIndex, charIndex + 20));\n setCharIndex((prev) => prev + 20);\n } else {\n // Text for the current part is complete\n setCompletedEntries((prev) => [\n ...prev,\n {\n text: displayedText,\n status: currentSection === 'analysis_metrics' && currentClass === 'metric-style' ? (content['analysis_metrics'] || [])[currentMetricIndex]?.status : null,\n className: currentClass\n }\n ]);\n setDisplayedText('');\n setCharIndex(0);\n\n // Determine the next step\n if (currentSection === 'analysis_metrics' || currentSection === 'top_5_metrics') {\n const metrics = content[currentSection] || [];\n if (currentTextIndex < 2) {\n // Move to the next line within the metric\n setCurrentTextIndex((prev) => prev + 1);\n } else if (currentMetricIndex < metrics.length - 1) {\n // Move to the next metric\n setCurrentTextIndex(0);\n setCurrentMetricIndex((prev) => prev + 1);\n } else {\n // Move to the next section\n moveToNextSection();\n }\n } else {\n // Move to the next section for other keys\n moveToNextSection();\n }\n }\n };\n\n const moveToNextSection = () => {\n const nextSectionIndex = sections.indexOf(currentSection) + 1;\n if (nextSectionIndex < sections.length) {\n setCurrentSection(sections[nextSectionIndex]);\n setCurrentMetricIndex(0);\n setCurrentTextIndex(0);\n } else {\n setIsCompleted(true);\n clearTimeout(timeoutRef.current); // Stop processing when all sections are done\n }\n };\n\n timeoutRef.current = setTimeout(handleTyping, speed);\n\n return () => clearTimeout(timeoutRef.current);\n }\n }, [message, currentMetricIndex, currentTextIndex, charIndex, speed]);\n\n let filtersUsedText = \"\"\n\n if (chat && chat.filters) {\n filtersUsedText = `Filters Used: Industry - ${chat.filters.code}, Data Type - ${chat.filters.datatype}, Revenue Band - ${chat.filters.revenue_band}, Region - ${chat.filters.region}, Year - ${chat.filters.year}`\n }\n\n return (\n
    \n
    \n
    {filtersUsedText}
    \n
    \n \"Peerview\n
    \n {completedEntries.map((entry, index) => (\n
    \n {entry.text}\n {entry.status && (\n \n {entry.status === 'good' && }\n {entry.status === 'bad' && }\n {entry.status === 'same' && }\n \n )}\n
    \n ))}\n {displayedText && (\n \n {displayedText}\n
    \n )}\n
    \n
    \n
    \n \n );\n};\n\nconst StaticAnalysisMessage = ({ chat, message }) => {\n let filtersUsedText = \"\"\n let content = message ? message.json_content : null\n\n if (chat && chat.filters) {\n filtersUsedText = `Filters Used: Industry - ${chat.filters.code}, Data Type - ${chat.filters.datatype}, Revenue Band - ${chat.filters.revenue_band}, Region - ${chat.filters.region}, Year - ${chat.filters.year}`\n }\n\n return (\n
    \n
    \n
    {filtersUsedText}
    \n
    \n \"Peerview\n
    \n
    {content && content.analysis_metrics_title}
    \n
    {content && content.analysis_metrics_details}
    \n {content && content.analysis_metrics.map((data, index) => (\n \n
    \n {data.metric}\n {data.status && (\n \n {data.status === 'good' && }\n {data.status === 'bad' && }\n {data.status === 'same' && }\n \n )}\n
    \n
    {data.analysis}
    \n
    \n ))}\n
    \n
    \n
    \n \"Peerview\n
    \n
    {content && content.top_5_metrics_title}
    \n
    {content && content.top_5_metrics_details}
    \n
    {content && content.top_5_metrics_total_impact}
    \n {content && content.top_5_metrics.map((data, index) => (\n \n
    {index + 1}. {data.metric}
    \n
    Opportunity: {data.opportunity}
    \n
    Recommendation: {data.recommendation}
    \n
    \n ))}\n
    {content && content.top_5_summary}
    \n
    \n
    \n
    \n
    \n );\n}\n\nconst StaticMessage = ({ text }) => {\n return (\n
    \n
    \n
    {text}
    \n
    \n
    \n );\n}\n\nexport { ChatTypewriter, StaticAnalysisMessage, StaticMessage };\n","import React, { useState, useEffect } from 'react';\nimport peerviewLogo from '../../../assets/images/favicon.png';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\nimport { ThumbsUp, ThumbsDown } from '../utils/SVGIcons';\nimport LoaderGraphic from '../utils/LoaderGraphic';\nimport Filler from '../progress_bar/Filler'\nimport ChatHistory from './ChatHistory';\nimport { ChatTypewriter, StaticAnalysisMessage, StaticMessage } from './ChatTypewriter';\n\nconst allChatQs = {\n start: true,\n options: [\n {\n question: \"Analyze My Data!\",\n call: \"handleOpenAiCall\",\n asked: false,\n limit: 1\n },\n // {\n // question: \"I want to ask my own question.\",\n // call: \"\",\n // asked: false,\n // limit: 5,\n // options: [\n // {\n // question: \"Ask my question\",\n // call: \"custom\",\n // asked: false,\n // limit: 5,\n // }\n // ]\n // }\n ]\n}\n\nconst loadingMessages = [\n \"Initializing analysis process...\",\n \"Retrieving company and financial records...\",\n \"Aggregating financial data for analysis...\",\n \"Generating system prompt for industry-specific insights...\",\n \"Analyzing financial data...\",\n \"Finalizing analysis and recommendations...\",\n \"Identifying top improvement opportunities...\",\n \"Preparing data for display...\"\n]\n\nconst ChatContainer = (props) => {\n const [currentQuestion, setCurrentQuestion] = useState(allChatQs)\n const [previousQuestions, setPreviousQuestions] = useState([])\n const [currentMessageIndex, setCurrentMessageIndex] = useState(0);\n const [messageInterval, setMessageInterval] = useState(null);\n const [progressBar, setProgressBar] = useState(13);\n\n // Handle message cycling\n useEffect(() => {\n if (props.chatLoading) {\n // Reset index and start cycling through messages\n setCurrentMessageIndex(0);\n setProgressBar(13)\n const interval = setInterval(() => {\n setProgressBar((prevState) => {\n if (prevState < 80) {\n return prevState + 13\n }\n })\n setCurrentMessageIndex((prevIndex) => {\n // Loop through the messages\n if (prevIndex < loadingMessages.length - 1) {\n return prevIndex + 1;\n } else {\n return prevIndex; // Stay on the last message\n }\n });\n }, 3250);\n\n setMessageInterval(interval);\n\n return () => clearInterval(interval);\n } else {\n // Clear interval when chatLoading is false\n if (messageInterval) {\n clearInterval(messageInterval);\n setMessageInterval(null);\n }\n }\n }, [props.chatLoading]);\n\n // Handle skipping to the last message if progress > 80\n useEffect(() => {\n if (props.chatLoader.progress > 80 && props.chatLoading) {\n setProgressBar(90)\n setCurrentMessageIndex(loadingMessages.length - 1); // Skip to the last message\n if (messageInterval) {\n clearInterval(messageInterval); // Stop the interval\n setMessageInterval(null);\n }\n }\n }, [props.chatLoader.progress, props.chatLoading]);\n\n const handleQ = (e, q) => {\n e.preventDefault()\n switch (q.question) {\n case \"Analyze My Data!\":\n setPreviousQuestions([...previousQuestions, currentQuestion])\n setCurrentQuestion(allChatQs)\n props.handleOpenAiCall(e)\n break;\n case \"I want to ask my own question.\":\n setPreviousQuestions([...previousQuestions, currentQuestion])\n setCurrentQuestion(q)\n break;\n case \"Go Back\":\n const lastQuestion = previousQuestions.pop();\n setPreviousQuestions([...previousQuestions])\n setCurrentQuestion(lastQuestion)\n break;\n default:\n break;\n }\n }\n\n const renderQButtons = () => {\n if (currentQuestion.start) {\n return (\n
    \n {props.chat.messages && props.chat.messages.length > 0 ? null :

    Let's Get Started!

    }\n {props.chat.messages ? null : (
    \n {\n props.chat.id\n ? null\n : currentQuestion.options.map((q) => {\n return \n })\n }\n
    )}\n
    \n )\n } else if (!currentQuestion.start && currentQuestion.options) {\n return (
    \n \n

    {currentQuestion.question}

    \n {currentQuestion.options.map((q) => {\n return \n })}\n
    )\n } else {\n return (
    \n \n {/*

    {currentQuestion.question}

    */}\n
    )\n }\n }\n\n return (\n
    \n \n
    \n
    \n {\n props.chat.messages && props.chat.messages.map((message, index) => {\n if (message.role == \"user\") {\n return \n } else if (message.role == \"assistant\" && message.typewriter) {\n return \n } else if (message.role == 'assistant' && !message.typewriter) {\n return \n }\n })\n }\n
    \n {props.chatLoading\n ? (\n
    \n
    \n {loadingMessages[currentMessageIndex]}\n \n
    \n
    \n \n
    \n
    \n )\n : null\n }\n {\n props.chatLoader.error\n ? (\n
    \n
    \n {props.chatLoader.error}\n
    \n
    \n )\n :\n null\n }\n
    \n
    \n
    \n {renderQButtons()}\n
    \n
    \n
    \n )\n}\n\n\nconst CopilotPDF = (props) => {\n let message = props.chat && props.chat.messages ? props.chat.messages.find(m => m.role == \"assistant\") : null\n let filtersUsedText = \"\"\n let content = message ? message.json_content : null\n let analysisPage1 = null\n let analysisPage2 = null\n\n if (props.chat && props.chat.filters) {\n filtersUsedText = `Filters Used: Industry - ${props.chat.filters.code}, Data Type - ${props.chat.filters.datatype}, Revenue Band - ${props.chat.filters.revenue_band}, Region - ${props.chat.filters.region}, Year - ${props.chat.filters.year}`\n }\n\n if (content) {\n analysisPage1 = content.analysis_metrics.slice(0, 12);\n analysisPage2 = content.analysis_metrics.length > 12 ? content.analysis_metrics.slice(12) : null\n }\n\n\n\n return (\n <>\n {\n props.chat && props.chat.messages\n ? (<>\n
    \n
    {filtersUsedText}
    \n
    \n \"Peerview\n
    \n
    {content && content.analysis_metrics_title}
    \n
    {content && content.analysis_metrics_details}
    \n {content && analysisPage1.map((data, index) => (\n <>\n
    \n {data.metric}\n {data.status && (\n \n {data.status === 'good' && }\n {data.status === 'bad' && }\n {data.status === 'same' && }\n \n )}\n
    \n
    {data.analysis}
    \n \n ))}\n
    \n
    \n
    \n {\n content && analysisPage2\n ?
    \n
    {filtersUsedText}
    \n
    \n \"Peerview\n
    \n
    {content && content.analysis_metrics_title} (Continued)
    \n {content && analysisPage2.map((data, index) => (\n <>\n
    \n {data.metric}\n {data.status && (\n \n {data.status === 'good' && }\n {data.status === 'bad' && }\n {data.status === 'same' && }\n \n )}\n
    \n
    {data.analysis}
    \n \n ))}\n
    \n
    \n
    \n : null\n }\n
    \n
    \n \"Peerview\n
    \n
    {content && content.top_5_metrics_title}
    \n
    {content && content.top_5_metrics_details}
    \n
    {content && content.top_5_metrics_total_impact}
    \n {content && content.top_5_metrics.map((data, index) => (\n <>\n
    {index + 1}. {data.metric}
    \n
    Opportunity: {data.opportunity}
    \n
    Recommendation: {data.recommendation}
    \n \n ))}\n
    {content && content.top_5_summary}
    \n
    \n
    \n
    \n )\n :
    Please Select an Analysis from Peerview Copilot (Beta) History
    \n }\n \n );\n}\nexport { ChatContainer, CopilotPDF };","import React from \"react\";\nimport AccountTree from \"../utils/AccountTree\";\nimport { parseMoney } from \"../utils\";\nimport { CommonSizeArrows } from \"./report_components/MoneyHelpers\";\n\nconst FunctionalExpenses = (props) => {\n let pnlRows = []\n const pnlTreeAll = new AccountTree({\n tree: props.tree['pnl']\n })\n pnlTreeAll.forEach((row) => {\n pnlRows.push(row)\n })\n pnlRows = pnlRows.filter(Boolean)\n\n const compareWithRowKeys = {\n 'None': null,\n 'Practice': 'practice_avg',\n 'Peers': 'avg',\n 'NSCHBC': 'nschbc'\n }\n const calcsAvgType = compareWithRowKeys[props.compareWith]\n const avg = calcsAvgType ? props.calcs[calcsAvgType] : null;\n\n let youProgramServicesTotal = 0\n let youAdminTotal = 0\n let youFundraisingTotal = 0\n let youFinalTotal = 0\n let compareProgramServicesTotal = 0\n let compareAdminTotal = 0\n let compareFundraisingTotal = 0\n\n const renderHeaderColumns = () => {\n // Need to hanlde different fiscal year end\n let tableYearDisplay = props.calendarYearEnd ? props.year : `FY${props.year + 1}`\n return (\n \n \n {`Functional Expenses ${tableYearDisplay}`}\n Program Services\n You\n \n {calcsAvgType ? {props.compareWith} : }\n Administrative\n You\n \n {calcsAvgType ? {props.compareWith} : }\n Fundraising\n You\n \n {calcsAvgType ? {props.compareWith} : }\n Totals\n You\n {calcsAvgType ? : null}\n {calcsAvgType ? {props.compareWith} : null}\n \n \n )\n }\n\n const commonSizeArrowSign = (youCommonSize, compareCommonSize, key = '') => {\n let commonSizeArrow = CommonSizeArrows(youCommonSize, compareCommonSize, key)\n if (commonSizeArrow === 'worse' || commonSizeArrow === 'worst') {\n return

    \n } else if (commonSizeArrow === 'better' || commonSizeArrow === 'best') {\n return

    \n }\n }\n\n // Just need metrics in the Operating Expsenses section that divide into Program Services, Admin, and Fundraising\n const buildRows = () => {\n let reportRows = []\n let sectionKeys = ['total_people_costs', 'total_taxes_and_benefits', 'total_corporate_culture', 'total_customer_costs', 'total_operations']\n pnlRows.forEach(row => {\n let expenseKeys = false\n if (row.children) {\n let childKeys = Object.keys(row.children).join('')\n if (childKeys.includes('admin') || childKeys.includes('program services') || childKeys.includes('fundraising')) {\n expenseKeys = true\n }\n }\n\n if (expenseKeys) {\n let youRowTotal = 0\n let compareRowTotal = 0\n let youTotalRevenue = props['calcs']['you']['total_revenue'][props.year]\n let compareTotalRevenue = avg ? avg['total_revenue'][props.year] : null\n let youCommonSize = 0\n let compareCommonSize = 0\n let youProgramVal = '$0'\n let youAdminVal = '$0'\n let youFundraisingVal = '$0'\n let youProgramCommonSize = ''\n let youAdminValCommonSize = ''\n let youFundraisingValCommonSize = ''\n let compareProgramCommonSize = ''\n let compareAdminValCommonSize = ''\n let compareFundraisingValCommonSize = ''\n let arrowColumnProgram = ''\n let arrowColumnAdmin = ''\n let arrowColumnFundraising = ''\n let arrowColumnTotal = ''\n\n Object.keys(row.children).forEach(child => {\n if (child.includes('program services')) {\n youProgramServicesTotal += Number(props['calcs']['you'][child][props.year])\n youProgramVal = parseMoney(props['calcs']['you'][child][props.year])\n youRowTotal += props['calcs']['you'][child][props.year]\n youFinalTotal += props['calcs']['you'][child][props.year]\n\n if (avg && avg[child]) {\n compareProgramServicesTotal += Number(avg[child][props.year])\n compareRowTotal += Number(avg[child][props.year])\n youProgramCommonSize = (Number(props['calcs']['you'][child][props.year]) / youTotalRevenue) * 100\n compareProgramCommonSize = (avg[child][props.year] / compareTotalRevenue) * 100\n }\n } else if (child.includes('admin')) {\n youAdminTotal += Number(props['calcs']['you'][child][props.year])\n youAdminVal = parseMoney(props['calcs']['you'][child][props.year])\n youRowTotal += props['calcs']['you'][child][props.year]\n youFinalTotal += props['calcs']['you'][child][props.year]\n\n if (avg && avg[child]) {\n compareAdminTotal += Number(avg[child][props.year])\n compareRowTotal += Number(avg[child][props.year])\n youAdminValCommonSize = (Number(props['calcs']['you'][child][props.year]) / youTotalRevenue) * 100\n compareAdminValCommonSize = (avg[child][props.year] / compareTotalRevenue) * 100\n }\n } else if (child.includes('fundraising')) {\n youFundraisingTotal += Number(props['calcs']['you'][child][props.year])\n youFundraisingVal = parseMoney(props['calcs']['you'][child][props.year])\n youRowTotal += props['calcs']['you'][child][props.year]\n youFinalTotal += props['calcs']['you'][child][props.year]\n\n if (avg && avg[child]) {\n compareFundraisingTotal += Number(avg[child][props.year])\n compareRowTotal += Number(avg[child][props.year])\n youFundraisingValCommonSize = (Number(props['calcs']['you'][child][props.year]) / youTotalRevenue) * 100\n compareFundraisingValCommonSize = (avg[child][props.year] / compareTotalRevenue) * 100\n }\n }\n })\n\n arrowColumnProgram = compareProgramCommonSize ? commonSizeArrowSign(youProgramCommonSize, compareProgramCommonSize, row.key) : ''\n arrowColumnAdmin = compareAdminValCommonSize ? commonSizeArrowSign(youAdminValCommonSize, compareAdminValCommonSize, row.key) : ''\n arrowColumnFundraising = compareFundraisingValCommonSize ? commonSizeArrowSign(youFundraisingValCommonSize, compareFundraisingValCommonSize, row.key) : ''\n youCommonSize = youRowTotal ? (youRowTotal / youTotalRevenue) * 100 : 0\n compareCommonSize = compareRowTotal ? (compareRowTotal / compareTotalRevenue) * 100 : 0\n arrowColumnTotal = commonSizeArrowSign(youCommonSize, compareCommonSize, row.key)\n\n reportRows.push(\n \n {row.padding + row.copy}\n {youProgramVal}\n {youProgramCommonSize ? youProgramCommonSize.toFixed(1) + '%' : '-'}\n {arrowColumnProgram}\n {compareProgramCommonSize ? compareProgramCommonSize.toFixed(1) + '%' : '-'}\n {youAdminVal}\n {youAdminValCommonSize ? youAdminValCommonSize.toFixed(1) + '%' : '-'}\n {arrowColumnAdmin}\n {compareAdminValCommonSize ? compareAdminValCommonSize.toFixed(1) + '%' : '-'}\n {youFundraisingVal}\n {youFundraisingValCommonSize ? youFundraisingValCommonSize.toFixed(1) + '%' : '-'}\n {arrowColumnFundraising}\n {compareFundraisingValCommonSize ? compareFundraisingValCommonSize.toFixed(1) + '%' : '-'}\n {parseMoney(youRowTotal)}\n {youCommonSize ? youCommonSize.toFixed(1) + '%' : '-'}\n {avg ? {arrowColumnTotal} : null}\n {avg ? {compareCommonSize ? compareCommonSize.toFixed(1) + '%' : '-'} : null}\n \n )\n }\n\n if (sectionKeys.includes(row.key)) {\n reportRows.push(\n \n {row.padding + row.copy}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {avg ? : null}\n {avg ? : null}\n \n )\n }\n })\n return reportRows\n }\n\n // Final Row needs totals for Program Services, Admin, and Fundraising and Everything\n const buildYouFinalTotalsRow = () => {\n let youTotalRevenue = props.calcs['you']['total_revenue'][props.year]\n let youTotalCommonSize = (youFinalTotal / youTotalRevenue) * 100\n let youProgramServicesTotalCS = youProgramServicesTotal ? youProgramServicesTotal / youTotalRevenue * 100 : 0\n let youAdminTotalCS = youAdminTotal ? youAdminTotal / youTotalRevenue * 100 : 0\n let youFundraisingTotalCS = youFundraisingTotal ? youFundraisingTotal / youTotalRevenue * 100 : 0\n\n let compareTotalRevenue = avg ? avg['total_revenue'][props.year] : null\n let compareTotalCommonSize = compareTotalRevenue ? ((compareProgramServicesTotal + compareAdminTotal + compareFundraisingTotal) / compareTotalRevenue) * 100 : 0\n let compareProgramServicesTotalCS = compareProgramServicesTotal ? compareProgramServicesTotal / compareTotalRevenue * 100 : 0\n let compareAdminTotalCS = compareAdminTotal ? compareAdminTotal / compareTotalRevenue * 100 : 0\n let compareFundraisingTotalCS = compareFundraisingTotal ? compareFundraisingTotal / compareTotalRevenue * 100 : 0\n\n let arrowColumnTotal = compareTotalCommonSize ? commonSizeArrowSign(youTotalCommonSize, compareTotalCommonSize, '') : ''\n let arrowColumnProgram = compareProgramServicesTotalCS ? commonSizeArrowSign(youProgramServicesTotalCS, compareProgramServicesTotalCS, '') : ''\n let arrowColumnAdmin = compareAdminTotalCS ? commonSizeArrowSign(youAdminTotalCS, compareAdminTotalCS, '') : ''\n let arrowColumnFundraising = compareFundraisingTotalCS ? commonSizeArrowSign(youFundraisingTotalCS, compareFundraisingTotalCS, '') : ''\n\n return (\n \n TOTAL FUNCTIONAL EXPENSES\n {parseMoney(youProgramServicesTotal)}\n {youProgramServicesTotalCS ? youProgramServicesTotalCS.toFixed(1) + '%' : '-'}\n {arrowColumnProgram}\n {compareProgramServicesTotalCS ? compareProgramServicesTotalCS.toFixed(1) + '%' : '-'}\n {parseMoney(youAdminTotal)}\n {youAdminTotalCS ? youAdminTotalCS.toFixed(1) + '%' : '-'}\n {arrowColumnAdmin}\n {compareAdminTotalCS ? compareAdminTotalCS.toFixed(1) + '%' : '-'}\n {parseMoney(youFundraisingTotal)}\n {youFundraisingTotalCS ? youFundraisingTotalCS.toFixed(1) + '%' : '-'}\n {arrowColumnFundraising}\n {compareFundraisingTotalCS ? compareFundraisingTotalCS.toFixed(1) + '%' : '-'}\n {parseMoney(youFinalTotal)}\n {youTotalCommonSize ? youTotalCommonSize.toFixed(1) + '%' : '-'}\n {avg ? {arrowColumnTotal} : null}\n {avg ? {compareTotalCommonSize ? compareTotalCommonSize.toFixed(1) + '%' : '-'} : null}\n \n )\n }\n\n const buildTable = () => {\n if (props.calcs) {\n if (props.pdf) {\n let sheetTitle = props.continued ? `${props.title} - ${props.clientName} (Continued)` : `${props.title} - ${props.clientName}`\n return (\n
    \n
    \n
    \n

    {sheetTitle}

    \n
    \n \n {renderHeaderColumns()}\n \n {buildRows()}\n {buildYouFinalTotalsRow()}\n \n
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n let tableID = `new-annual-table-naics_focused`\n return (\n
    \n
    \n
    \n \n {renderHeaderColumns()}\n \n {buildRows()}\n {buildYouFinalTotalsRow()}\n \n
    \n
    \n
    \n
    \n )\n }\n }\n }\n\n return (buildTable())\n}\n\nexport default FunctionalExpenses;","const Adding = (obj) => {\n let sumNumber = 0\n Object.values(obj).forEach(value => {\n sumNumber += value\n })\n return sumNumber\n}\n\n// Create Initial Revenue and Operating Expenses Growth Rates\n// startingGrowthRate is not in percent form, ex. .01 -> 10%\nconst GrowthRateIputKeys = (pnl, startingGrowthRate) => {\n const opexParentKeys = [\n 'total_people_costs',\n 'total_customer_costs',\n 'total_operations',\n 'total_operating_expenses_general_& administrative',\n 'total_operating_expenses_marketing',\n 'total_operating_expenses_product_development',\n 'total_operating_expenses_sales'\n ]\n let grKeys = {\n 'total_revenue': (startingGrowthRate * 100).toFixed(2)\n }\n\n opexParentKeys.forEach(parent => {\n if (pnl.children[parent]) {\n Object.keys(pnl.children[parent]).forEach(child => {\n grKeys[child] = (startingGrowthRate * 100).toFixed(2)\n })\n }\n })\n\n return grKeys\n}\n\nconst TotalRevenueAndMonthlyRevPercents = (initialRevenue, forecasts, goalGR, blendMonth = null) => {\n goalGR = goalGR ? Number(goalGR) / 100 : 0\n let finalRevenue = initialRevenue * (1 + goalGR)\n let monthlyRevPercents = []\n let forecastRevenue = 0\n\n // Get forecast total revenue from the sum of the months\n forecasts.forEach(forecast => {\n forecastRevenue += forecast.state.pnl.parents.total_revenue\n })\n\n // Then each month's percent of the year / annual revenue\n forecasts.forEach(forecast => {\n // Handle Sync Live Data\n if (blendMonth && forecast.month >= blendMonth) {\n monthlyRevPercents.push(forecast.state.pnl.parents.total_revenue / forecastRevenue)\n } else if (blendMonth && forecast.month < blendMonth) {\n monthlyRevPercents.push(forecast.state.pnl.parents.total_revenue / finalRevenue)\n } else {\n monthlyRevPercents.push(forecast.state.pnl.parents.total_revenue / forecastRevenue)\n }\n })\n\n // Figure Out if the percents of revenue for each month add up to 1 (100%)\n let totalPercentage = monthlyRevPercents.reduce((a, b) => a + b)\n // If Sync Live Data (blendMonth) is in place, figure out the remaining percentage and divide it equally for the months without live data.\n if (totalPercentage < 1 && blendMonth) {\n let remainingPercentagePerMonth = (1 - totalPercentage) / (13 - blendMonth)\n monthlyRevPercents = monthlyRevPercents.map((m, i) => {\n if (i >= blendMonth - 1) {\n return m += remainingPercentagePerMonth\n } else {\n return m\n }\n })\n }\n\n return { finalRevenue: finalRevenue, monthlyRevPercents: monthlyRevPercents }\n}\n\n// Handle Sync Live Data and avoid changing the live data values Accounting APIs\nconst PnlValuesWithBlend = (forecast, blendMonth = false) => {\n let pnlObj = {}\n const pnlState = forecast.state.pnl\n\n Object.keys(pnlState.parents).forEach((parent) => {\n if (parent == 'total_costs' && blendMonth) {\n pnlObj[parent] = (parseFloat(pnlState.parents[parent]) / 100) * pnlObj.total_revenue;\n } else if (parent !== 'materials_costs') {\n pnlObj[parent] = pnlState.parents[parent];\n }\n })\n\n Object.keys(pnlState.children).forEach((parent) => {\n Object.keys(pnlState.children[parent]).forEach((child) => {\n if (parent == 'total_costs' && blendMonth) {\n pnlObj[child] = parseFloat(pnlState.children[parent][child] / 100) * pnlObj.total_revenue;\n } else if (parent !== 'materials_costs') {\n pnlObj[child] = pnlState.children[parent][child];\n }\n })\n })\n\n let deprAmort = pnlObj.hasOwnProperty('depreciation_and_amortization') ? pnlObj.depreciation_and_amortization : 0\n let otherTaxes = pnlObj.hasOwnProperty('total_other_costs_taxes_- federal & state') ? pnlObj['total_other_costs_taxes_- federal & state'] : 0\n let interestOtherExpense = pnlObj.hasOwnProperty('interest_and_other_expenses') ? pnlObj.interest_and_other_expenses : 0\n let otherIncomeExpenses = pnlObj.hasOwnProperty('other_income_expenses') ? pnlObj.other_income_expenses : 0\n let interestExpenseAmort = pnlObj.hasOwnProperty('interest_expense_including_amort_of_loan_fees') ? pnlObj['interest_expense_including_amort_of_loan_fees'] : 0\n let relatedPartyFees = pnlObj.hasOwnProperty('related_party_fees') ? pnlObj.related_party_fees : 0\n\n pnlObj.total_other_costs = interestOtherExpense + deprAmort + otherIncomeExpenses + otherTaxes + interestExpenseAmort + relatedPartyFees\n pnlObj.gross_profit = pnlObj.total_revenue - (pnlObj.total_costs || 0);\n\n let total_people_costs = pnlObj.total_people_costs || 0\n let total_customer_costs = pnlObj.total_customer_costs || 0\n let total_operations = pnlObj.total_operations || 0\n let total_op_ex_ga = pnlObj['total_operating_expenses_general_& administrative'] || 0\n let total_op_ex_marketing = pnlObj['total_operating_expenses_marketing'] || 0\n let total_op_ex_prod_dev = pnlObj['total_operating_expenses_product_development'] || 0\n let total_op_ex_sales = pnlObj['total_operating_expenses_sales'] || 0\n\n pnlObj.total_operating_expenses = total_people_costs + total_customer_costs + total_operations + total_op_ex_ga + total_op_ex_marketing + total_op_ex_prod_dev + total_op_ex_sales;\n pnlObj.operating_profit = pnlObj.gross_profit - pnlObj.total_operating_expenses;\n pnlObj.operating_expenses_net_income = pnlObj.operating_profit - pnlObj.total_other_costs;\n return pnlObj;\n}\n\nconst BalanceSheetValuesWithBlend = (delta, netincome, base = {}, month) => {\n let balanceObj = {}\n Object.keys(delta.parents).forEach((parent) => {\n balanceObj[parent] = delta.parents[parent];\n })\n Object.keys(delta.children).forEach((parent) => {\n Object.keys(delta.children[parent]).forEach((child) => {\n if (month === 1 && child === \"operating_expenses_net_income\") {\n balanceObj.operating_expenses_net_income = netincome\n }\n else if (child === \"operating_expenses_net_income\") {\n balanceObj.operating_expenses_net_income = (base.operating_expenses_net_income || 0) + netincome;\n } else {\n balanceObj[child] = delta.children[parent][child]\n }\n })\n })\n balanceObj.total_assets = balanceObj.total_current_assets + balanceObj.total_fixed_assets;\n balanceObj.net_worth = balanceObj.capital_stock + balanceObj.owner_distributions + balanceObj.retained_earnings + balanceObj.operating_expenses_net_income;\n balanceObj.total_liabilities_and_equity = balanceObj.long_term_debt + balanceObj.total_current_liabilities + balanceObj.net_worth;\n\n return balanceObj;\n}\n\nconst COGSConverter = (pnl) => {\n let finalCOGS = _.cloneDeep(pnl)\n let parents = finalCOGS['parents']\n let children = finalCOGS['children']\n if (parents['total_costs']) {\n finalCOGS['parents']['total_costs'] = (parseFloat((finalCOGS['parents']['total_costs'] / finalCOGS['parents']['total_revenue'])) * 100)\n Object.keys(children['total_costs']).forEach((child) => {\n if (finalCOGS['children']['total_costs'][child]) {\n finalCOGS['children']['total_costs'][child] = (parseFloat((finalCOGS['children']['total_costs'][child] / finalCOGS['parents']['total_revenue'])) * 100)\n } else {\n finalCOGS['children']['total_costs'][child] = 0.0\n }\n })\n }\n return finalCOGS\n}\n\nconst PnlValues = (forecast, growthRate = 0, companyCalc, liveCogs = false, notBlendMonth = false) => {\n let pnlObj = {}\n const pnlState = forecast.state.pnl\n if (companyCalc) {\n pnlObj.total_revenue = (parseFloat(companyCalc.total_revenue / 12)) * (1 + growthRate);\n } else {\n pnlObj.total_revenue = (parseFloat(pnlState.parents.total_revenue)) * (1 + growthRate);\n }\n\n Object.keys(pnlState.parents).forEach((parent) => {\n if (parent === 'total_costs') {\n if (companyCalc) {\n pnlObj[parent] = (parseFloat((companyCalc[parent]) / 12)) * (1 + growthRate);\n } else if (liveCogs && notBlendMonth === false) {\n pnlObj[parent] = (parseFloat(pnlState.parents[parent]))\n } else {\n pnlObj[parent] = (parseFloat(pnlState.parents[parent]) / 100) * pnlObj.total_revenue;\n }\n } else if (parent !== 'total_revenue' && parent !== 'materials_costs') {\n if (companyCalc) {\n pnlObj[parent] = (parseFloat(companyCalc[parent] / 12)) * (1 + growthRate);\n } else {\n pnlObj[parent] = (parseFloat(Adding(pnlState.children[parent]))) * (1 + growthRate)\n }\n } else if (parent === 'total_revenue') {\n let actualRevenue = 0\n let revenueKeys = Object.keys(pnlState.children['total_revenue'])\n if (revenueKeys.length > 1) {\n Object.keys(pnlState.children[parent]).forEach(child => {\n if (child !== 'total_revenue') {\n pnlObj[child] = (parseFloat(pnlState.children[parent][child]));\n actualRevenue += pnlObj[child]\n }\n })\n\n if (actualRevenue != pnlState.parents.total_revenue) {\n pnlObj[parent] = parseFloat(actualRevenue) * (1 + growthRate)\n Object.keys(pnlState.children[parent]).forEach(child => {\n if (child !== 'total_revenue') {\n pnlObj[child] = (parseFloat(pnlState.children[parent][child])) * (1 + growthRate)\n }\n })\n } else {\n pnlObj[parent] = parseFloat(actualRevenue)\n }\n }\n }\n })\n Object.keys(pnlState.children).forEach((parent) => {\n if (parent === 'total_costs') {\n Object.keys(pnlState.children[parent]).forEach((child) => {\n if (companyCalc) {\n pnlObj[child] = parseFloat((companyCalc[child] / 12)) * (1 + growthRate);\n } else if (liveCogs && notBlendMonth === false) {\n pnlObj[child] = (parseFloat((pnlState.children[parent][child])))\n } else {\n pnlObj[child] = pnlObj.total_revenue * parseFloat(pnlState.children[parent][child] / 100);\n }\n });\n } else if (parent !== 'total_revenue' && parent !== 'materials_costs') {\n Object.keys(pnlState.children[parent]).forEach((child) => {\n if (companyCalc) {\n pnlObj[child] = (companyCalc[child] / 12) * (1 + growthRate);\n } else {\n pnlObj[child] = (pnlState.children[parent][child]) * (1 + growthRate);\n }\n });\n }\n })\n\n let deprAmort = pnlObj.hasOwnProperty('depreciation_and_amortization') ? pnlObj.depreciation_and_amortization : 0\n let otherTaxes = pnlObj.hasOwnProperty('total_other_costs_taxes_- federal & state') ? pnlObj['total_other_costs_taxes_- federal & state'] : 0\n let interestOtherExpense = pnlObj.hasOwnProperty('interest_and_other_expenses') ? pnlObj.interest_and_other_expenses : 0\n let otherIncomeExpenses = pnlObj.hasOwnProperty('other_income_expenses') ? pnlObj.other_income_expenses : 0\n let interestExpenseAmort = pnlObj.hasOwnProperty('interest_expense_including_amort_of_loan_fees') ? pnlObj['interest_expense_including_amort_of_loan_fees'] : 0\n let relatedPartyFees = pnlObj.hasOwnProperty('related_party_fees') ? pnlObj.related_party_fees : 0\n\n pnlObj.total_other_costs = interestOtherExpense + deprAmort + otherIncomeExpenses + otherTaxes + interestExpenseAmort + relatedPartyFees\n pnlObj.gross_profit = pnlObj.total_revenue - (pnlObj.total_costs || 0);\n\n let total_people_costs = pnlObj.total_people_costs || 0\n let total_customer_costs = pnlObj.total_customer_costs || 0\n let total_operations = pnlObj.total_operations || 0\n let total_op_ex_ga = pnlObj['total_operating_expenses_general_& administrative'] || 0\n let total_op_ex_marketing = pnlObj['total_operating_expenses_marketing'] || 0\n let total_op_ex_prod_dev = pnlObj['total_operating_expenses_product_development'] || 0\n let total_op_ex_sales = pnlObj['total_operating_expenses_sales'] || 0\n\n pnlObj.total_operating_expenses = total_people_costs + total_customer_costs + total_operations + total_op_ex_ga + total_op_ex_marketing + total_op_ex_prod_dev + total_op_ex_sales;\n pnlObj.operating_profit = pnlObj.gross_profit - pnlObj.total_operating_expenses;\n pnlObj.operating_expenses_net_income = pnlObj.operating_profit - pnlObj.total_other_costs;\n return pnlObj;\n}\n\nconst BalanceSheetValues = (delta, netincome, depr, base = {}, month, originalDepreciation, blendMonth, year) => {\n let balanceObj = {}\n Object.keys(delta.parents).forEach((parent) => {\n balanceObj[parent] = delta.parents[parent];\n })\n Object.keys(delta.children).forEach((parent) => {\n Object.keys(delta.children[parent]).forEach((child) => {\n balanceObj[child] = delta.children[parent][child];\n })\n })\n\n if (month === 1 && year === 'year1') {\n balanceObj.less_accumulated_depreciation = originalDepreciation - depr\n balanceObj.operating_expenses_net_income = netincome\n } else if (month === 1) {\n balanceObj.less_accumulated_depreciation = balanceObj.less_accumulated_depreciation - (depr * month)\n balanceObj.operating_expenses_net_income = netincome\n } else if (blendMonth && month >= blendMonth && year === 'year1') {\n balanceObj.less_accumulated_depreciation = originalDepreciation - (depr * (month + 1 - blendMonth))\n balanceObj.operating_expenses_net_income = (base.operating_expenses_net_income || 0) + netincome\n } else {\n balanceObj.less_accumulated_depreciation = balanceObj.less_accumulated_depreciation - (depr * month)\n balanceObj.operating_expenses_net_income = (base.operating_expenses_net_income || 0) + netincome\n }\n\n balanceObj.total_fixed_assets = balanceObj.property_and_equipment + balanceObj.other_long_term_assets + balanceObj.less_accumulated_depreciation\n balanceObj.total_assets = balanceObj.total_current_assets + balanceObj.total_fixed_assets;\n balanceObj.net_worth = balanceObj.capital_stock + balanceObj.owner_distributions + balanceObj.retained_earnings + balanceObj.operating_expenses_net_income;\n balanceObj.total_liabilities_and_equity = balanceObj.long_term_debt + balanceObj.total_current_liabilities + balanceObj.net_worth;\n balanceObj.a_delta = balanceObj.total_liabilities_and_equity - balanceObj.total_assets || 0\n balanceObj.cash = balanceObj.cash + balanceObj.a_delta\n balanceObj.total_current_assets = balanceObj.total_current_assets + balanceObj.a_delta\n balanceObj.total_assets = balanceObj.total_assets + balanceObj.a_delta\n return balanceObj;\n}\n\nconst CashFlowValues = (balVals, baseBalVals, previousYearBaseBalVals) => {\n // for years 2 and 3 january object\n if (previousYearBaseBalVals && previousYearBaseBalVals[11]) {\n baseBalVals = { ...baseBalVals, ...previousYearBaseBalVals[11] }\n }\n // we're getting the values from the balance sheet\n let finalValues = [];\n for (let i = 0; i < balVals.length; i++) {\n let previousMonth;\n let currentMonth;\n if (i === 0) {\n let janObject = {};\n let january = balVals[0];\n for (const prop in january) { // A different property name is assigned to variable 'prop' on each iteration.\n if (baseBalVals.hasOwnProperty(prop)) { // check if baseBalVal has this property or not\n let newVal = baseBalVals[prop] - january[prop]; // previous month - current month\n janObject[prop] = newVal;\n }\n }\n finalValues.push(janObject); // january need previous year data\n } else {\n let newValues = [];\n let newObject = {};\n previousMonth = balVals[i - 1];\n currentMonth = balVals[i];\n const previousValues = Object.values(previousMonth);\n const currentValues = Object.values(currentMonth);\n const monthKeys = Object.keys(currentMonth);\n for (let i = 0; i < previousValues.length; i++) {\n newValues.push(previousValues[i] - currentValues[i]); // previous month - current month\n }\n // need to make object with monthKeys array and newValues array\n // push object to finalValues array and return it\n for (let i = 0; i < monthKeys.length; i++) {\n newObject[monthKeys[i]] = newValues[i];\n }\n finalValues.push(newObject);\n }\n }\n return finalValues; // return [ 0: {a_delta: 10, accounts_payable: 100 ....}, 1: {a_delta: -2, accounts_payable: -50 ....}] with prevoius - current for the math\n}\nconst Sum = (valueSet) => {\n let sumObj = {}\n Object.keys(valueSet[0]).forEach(key => {\n sumObj[key] = 0.0;\n valueSet.forEach(sheetVals => {\n sumObj[key] = sumObj[key] + sheetVals[key];\n });\n })\n return sumObj;\n}\n\nconst AverageMonthVals = (forecastSet, growthRate = 0, companyCalc, blendMonth = false, notDefaultScenario = false) => {\n let yearValues = []\n let liveYearValues = []\n let liveSum\n let average = {}\n const forecasts = _.cloneDeep(forecastSet)\n const forecast = _.cloneDeep(forecasts[0].state)\n forecasts.forEach((forecast) => {\n let pnlVals\n if (companyCalc) {\n pnlVals = new PnlValues(forecast, growthRate, companyCalc)\n } else {\n pnlVals = new PnlValues(forecast)\n }\n yearValues.push(pnlVals);\n })\n\n if (blendMonth) {\n let pnlVals\n for (let i = 0; i < 12; i++) {\n if (i < blendMonth - 1) {\n pnlVals = new PnlValues(forecasts[i], 0, 0, true)\n liveYearValues.push(pnlVals)\n } else {\n if (notDefaultScenario) {\n pnlVals = new PnlValues(forecasts[i], 0, 0, true, true)\n liveYearValues.push(pnlVals)\n } else {\n pnlVals = new PnlValues(forecasts[i], growthRate, companyCalc, true, true)\n liveYearValues.push(pnlVals)\n }\n }\n }\n liveSum = new Sum(liveYearValues)\n }\n\n let sum = new Sum(yearValues)\n let sumKeys = Object.keys(sum)\n for (let key in sum) {\n average[key] = sum[key] / 12\n }\n\n const pnlParentKeys = Object.keys(forecast['pnl'].parents)\n if (pnlParentKeys.includes('materials_costs')) {\n let materialIndex = pnlParentKeys.indexOf('materials_costs')\n pnlParentKeys.splice(materialIndex, 1)\n }\n pnlParentKeys.forEach((mainKey) => {\n const pnlChildrenKeys = Object.keys(forecast['pnl'].children[mainKey])\n if (forecast['pnl'].parents && mainKey === \"total_revenue\" && forecast['pnl'].children['total_revenue']) {\n forecast['pnl'].parents['total_revenue'] = average['total_revenue']\n forecast['pnl'].children['total_revenue']['total_revenue'] = average['total_revenue']\n } else if (forecast['pnl'].parents && forecast['pnl'].parents[mainKey]) {\n if (mainKey == 'total_costs') {\n forecast['pnl'].parents['total_costs'] = (average['total_costs'] / average['total_revenue'] * 100)\n } else {\n forecast['pnl'].parents[mainKey] = average[mainKey]\n }\n }\n pnlChildrenKeys.forEach((k) => {\n if (forecast['pnl'].children && mainKey === 'total_costs') {\n forecast['pnl'].children['total_costs'][k] = (average[k] / average['total_revenue'] * 100)\n } else {\n forecast['pnl'].children[mainKey][k] = average[k]\n }\n })\n })\n\n return { forecast, sum, liveSum }\n}\n\nconst Ratios = (baseKey, sumVal) => {\n let ratioObj = {}\n Object.keys(sumVal).forEach(key => {\n ratioObj[key] = (sumVal[key] / sumVal[baseKey]) * 100;\n })\n return ratioObj;\n}\nexport { GrowthRateIputKeys, TotalRevenueAndMonthlyRevPercents, PnlValuesWithBlend, BalanceSheetValuesWithBlend, COGSConverter, PnlValues, BalanceSheetValues, CashFlowValues, Sum, AverageMonthVals, Ratios }","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { AnnualCashFlowValues } from './MoneyHelpers';\n\nconst compareWithRowKeys = {\n 'None': null,\n 'Practice': 'practice_avg',\n 'Peers': 'avg',\n 'NSCHBC': 'nschbc'\n}\n\nconst MoneyCashFlow = (props) => {\n const { calcs } = useContext(Data)\n const { filters } = useContext(Filters);\n const compareWith = filters.compare_with;\n const calcsAvgType = compareWithRowKeys[compareWith]\n\n const buildRows = () => {\n let cashFlowRows = [];\n props.rows.forEach((row) => {\n let rowValues = AnnualCashFlowValues(calcs, calcsAvgType, props.yearRange, row.key)\n let newRow = { ...row, ...rowValues }\n cashFlowRows.push(newRow)\n })\n return cashFlowRows.map((row, i) => {\n let borderTopStyle = row.topline ? { borderTop: 'solid 1px', minHeight: '17px' } : { borderTop: 'none' }\n let paddingStyle = row.pad ? { paddingTop: '3px', paddingBottom: '20px' } : { paddingTop: '3px' }\n if (props.pdf && paddingStyle.paddingBottom) {\n paddingStyle.paddingTop = '1px'\n paddingStyle.paddingBottom = '8px'\n } else if (props.pdf) {\n paddingStyle.paddingTop = '1px'\n paddingStyle.paddingBottom = '1px'\n }\n let pdfFont = props.pdf ? '11px' : '12px'\n let fontStyle = { textAlign: 'left', fontSize: pdfFont, minWidth: '224px', fontStyle: row.fontStyle }\n let metricNameStyle = { ...fontStyle, ...paddingStyle }\n let hideRow = '';\n let zeroYears = [];\n props.yearRange.forEach(y => { row[y] === 0 && Math.abs(row['you' + y]).toFixed(1) === '0.0' && Math.abs(row['avg' + y]).toFixed(1) === '0.0' ? zeroYears.push(y) : null })\n zeroYears.length === props.yearRange.length ? hideRow = row.copy : null\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n return (\n props.editMetrics ? props.handleSelectAndLayout('money', 'cash_flow', row.relatedCheckedKey) : null}>\n {props.pdf ? null : {rowChecked}}\n {row.padding + row.copy}\n {props.yearRange.map((year, ii) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n if (ii % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n let allStyles = { ...paddingStyle, ...backgroundStyle };\n try {\n if (Object.keys(row).length > 3) {\n let arrowColumn = ''\n let yearValue = parseMoney(row[year])\n let youPercentage = _.isNumber(row['you' + year]) ? (row['you' + year] * 100).toFixed(1) + '%' : '-';\n let avgPercentage = _.isNumber(row['avg' + year]) ? (row['avg' + year] * 100).toFixed(1) + '%' : '-';\n\n if (row['status' + year] === 'worse' || row['status' + year] === 'worst') {\n arrowColumn =

    \n } else if (row['status' + year] === 'better' || row['status' + year] === 'best') {\n arrowColumn =

    \n }\n\n if (youPercentage === '-' && avgPercentage === '-') {\n youPercentage = ''\n avgPercentage = ''\n }\n\n if (row.key === 'capital_expenditure' || row.key === 'operating_cash_flow') {\n yearValue = ''\n }\n\n return (\n \n \n {yearValue}\n \n \n {youPercentage}\n \n {compareWith === 'None'\n ? null\n : \n {arrowColumn}\n }\n {compareWith === 'None'\n ? null\n : \n {avgPercentage}\n }\n \n \n )\n } else {\n return (\n \n \n \n {compareWith === 'None' ? null : }\n {compareWith === 'None' ? null : }\n \n \n )\n }\n } catch { return ; }\n })}\n \n )\n })\n }\n\n const addDeltaColumn = (row) => {\n let classNames = props.pdf ? 'common-size-cell' : 'common-size-cell money-table-cell'\n let cellStyle = props.pdf ? {} : { 'backgroundColor': '#BFE0AE' }\n let paddingStyle = row.pad ? { paddingTop: '3px', paddingBottom: '20px' } : { paddingTop: '3px' }\n cellStyle = { ...cellStyle, ...paddingStyle }\n\n let numberAvailable = _.isNumber(row[props.yearRange[1]]) || _.isNumber(row[props.yearRange[1]])\n if (numberAvailable && !['capital_expenditure', 'operating_cash_flow'].includes(row.key)) {\n return {parseMoney(row[props.yearRange[1]] - row[props.yearRange[0]])}\n } else return \n }\n\n const renderYearHeaderColumns = (years) => {\n const currentYear = new Date().getFullYear();\n let youPeersRow = [];\n let formatedYearsRow = [];\n let classNames = props.pdf ? 'common-size-cell' : 'common-size-cell money-table-cell'\n let cellStyle = props.pdf ? {} : { 'backgroundColor': '#BFE0AE' }\n\n years.forEach((y, i) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n let youDate, compareDate = '';\n\n if (y === currentYear) {\n youDate = props.companyYTDDate;\n compareDate = props.aggregateYTDDate;\n } else {\n youDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${y}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${y + 1}` : `12/31/${y}`;\n compareDate = `12/31/${y}`;\n }\n\n if (i % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell'\n }\n\n youPeersRow.push(\n \n You\n {compareWith === 'None' ? null : }\n {compareWith === 'None' ? null : {compareWith}}\n \n \n )\n\n formatedYearsRow.push(\n \n {youDate}\n {compareWith === 'None' ? null : }\n {compareWith === 'None' ? null : {compareDate}}\n \n \n )\n })\n\n return (\n \n \n {props.pdf ? null : props.handleEditMetrics()}>{props.editMetrics ? : }}\n \n {youPeersRow}\n \n \n {props.pdf ? null : }\n \n {formatedYearsRow}\n \n \n )\n }\n\n const renderCashFlow = () => {\n if (props.pdf) {\n let pageViewClass = props.yearRange.length === 2 ? 'portrait-view' : 'landscape-view'\n let printViewClass = props.yearRange.length === 2 ? 'money-pdf-portrait' : 'report-pdf-landscape'\n let clientNames = props.realName ? `${props.realName} / ${props.clientName}` : props.clientName\n let yearRangeText = `${props.yearRange[0]} - ${props.yearRange[props.yearRange.length - 1]}`\n\n return (\n
    \n
    \n
    \n {props.yearRange.length === 2\n ? (\n
    \n

    Cash Flow Benchmark Report

    \n

    {clientNames}

    \n

    {yearRangeText}

    \n
    \n )\n :

    {`Cash Flow Benchmark Report, ${clientNames}, ${yearRangeText}`}

    \n }\n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n \n
    n = {props.n ? props.n : 0}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n \n \n \n
    n = {props.n ? props.n : 0}
    \n
    \n
    \n )\n }\n }\n\n return renderCashFlow()\n}\n\nexport default MoneyCashFlow;","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { AnnualKFIsValues } from './MoneyHelpers';\n\nconst compareWithRowKeys = {\n 'None': null,\n 'Practice': 'practice_avg',\n 'Peers': 'avg',\n 'NSCHBC': 'nschbc'\n}\n\nconst MoneyKFI = (props) => {\n const { calcs } = useContext(Data)\n const { filters } = useContext(Filters);\n const compareWith = filters.compare_with;\n const calcsAvgType = compareWithRowKeys[compareWith]\n const displayCompareCol = props.reportType === 'audit-kfis' || compareWith === 'None' ? false : true\n\n const formatPercent = (value, key) => {\n if (value || value === 0) {\n return (Math.round(value * 10000) / 100) + '%';\n } else {\n return '-'\n }\n };\n\n const formatRatio = (value) => {\n if (value || value === 0) {\n return `${value.toFixed(1)} to 1`;\n } else {\n return '-'\n }\n };\n\n const formatDays = (value) => {\n if (value || value === 0) {\n return `${value.toFixed(1)} days`;\n } else {\n return '-'\n }\n };\n\n const formatTwoDecimal = (value) => {\n if (value || value === 0) {\n return value.toFixed(2);\n } else {\n return '-'\n }\n };\n\n const rowFormatter = (amount, key) => {\n const roundNumber = ['number_of_holes_on_golf_course'];\n const ratio = ['quick_ratio', 'debt_ratio', 'operating_cash_flow_kfi', 'current_ratio', 'net_working_capital_ratio', 'debt_to_equity', 'senior_debt_to_ebitda', 'ebitda_to_annual_interest']\n const days = ['days_cash_on_hand', 'ar_days', 'ap_days']\n const money = ['net_working_capital', 'operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization', 'ebitda', 'maintenace_per_golf_hole']\n const twoDecimal = ['asset_turnover_ratio', 'inventory_turnover_ratio']\n const percent = ['total_revenue_growth_rate', 'net_profit', 'cash_flow_margin', 'roa', 'roe', 'roce', 'gross_profit', 'operating_profit']\n\n if (key.includes('title')) {\n return ''\n } else if (roundNumber.includes(key)) {\n return _.isNumber(amount) ? Math.round(amount) : '-'\n } else if (ratio.includes(key)) {\n return formatRatio(amount)\n } else if (days.includes(key)) {\n return formatDays(amount)\n } else if (money.includes(key)) {\n return parseMoney(amount);\n } else if (twoDecimal.includes(key)) {\n return formatTwoDecimal(amount)\n } else if (percent.includes(key)) {\n return formatPercent(amount, key)\n } else {\n return _.isNumber(amount) ? '-' : ''\n };\n };\n\n const buildRows = () => {\n let kfisRows = [];\n props.rows.forEach((row, i) => {\n let rowValues = AnnualKFIsValues(calcs, calcsAvgType, props.yearRange, row.key)\n let newRow = { ...row, ...rowValues }\n kfisRows.push(newRow)\n })\n\n return kfisRows.map((row, i) => {\n let paddingLeft = { paddingLeft: row.paddingLeft }\n let padding = row.pad ? { padding: '3px', paddingBottom: '20px' } : { padding: '3px' }\n if (props.pdf && padding.paddingBottom) {\n padding.paddingTop = '1px'\n padding.paddingBottom = '8px'\n } else if (props.pdf) {\n padding.paddingTop = '1px'\n padding.paddingBottom = '1px'\n }\n let titleStyle = { ...paddingLeft, ...padding }\n let hideRow = '';\n\n let rowStyle = row.borderBottom ? { borderBottom: row.borderBottom } : {}\n if (row.key === hideRow) {\n rowStyle['display'] = 'none';\n }\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n return (\n props.editMetrics ? props.handleSelectAndLayout('money', 'kfis', row.relatedCheckedKey) : null}>\n {props.reportType !== 'audit-kfis' && !props.pdf ? {rowChecked} : null}\n {row.padding + row.copy}\n {props.yearRange.map((year, ii) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n backgroundStyle['textAlign'] = props.reportType !== 'audit-kfis' ? '' : 'center';\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n if (ii % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n let titleRowStyles = { 'borderBottom': '2px solid #000000', ...backgroundStyle };\n let arrowStyles = { 'textAlign': 'center', ...backgroundStyle, ...padding };\n\n let cellStyle = { ...backgroundStyle, ...padding }\n try {\n if (row.parentKey !== 'parent') {\n\n let arrowColumn = ''\n let youValue = row[year];\n let avgValue = row['avg' + year];\n let status = row['status' + year]\n if (status === 'worse' || status === 'worst') {\n arrowColumn =

    \n } else if (status === 'better' || status === 'best') {\n arrowColumn =

    \n } else {\n arrowColumn = ''\n }\n\n return (\n \n \n {rowFormatter(youValue, row.key)}\n \n {displayCompareCol ? {arrowColumn} : null}\n {displayCompareCol ? {rowFormatter(avgValue, row.key)} : null}\n \n \n )\n } else {\n return (\n \n \n {displayCompareCol ? : null}\n {displayCompareCol ? : null}\n \n \n )\n }\n } catch (e) {\n console.log(e)\n return ();\n }\n })}\n \n )\n });\n };\n\n const renderYearHeaderColumns = (years) => {\n const currentYear = new Date().getFullYear();\n let youPeersRow = [];\n let formatedYearsRow = [];\n\n years.forEach((y, i) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n let youDate, compareDate = '';\n\n if (y === currentYear) {\n youDate = props.companyYTDDate;\n compareDate = props.aggregateYTDDate;\n } else {\n youDate = props.calendarYearEnd ? `${props.fiscalYearEnd}/${y}` : props.fiscalYearEnd ? `${props.fiscalYearEnd}/${y + 1}` : `12/31/${y}`;\n compareDate = `12/31/${y}`;\n }\n\n if (i % 2 === 0 && (!props.pdf || (props.pdf && props.yearRange.length !== 2))) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell'\n }\n\n youPeersRow.push(\n \n You\n {displayCompareCol ? : null}\n {displayCompareCol ? {compareWith} : null}\n \n \n )\n\n formatedYearsRow.push(\n \n {youDate}\n {displayCompareCol ? : null}\n {displayCompareCol ? {compareDate} : null}\n \n \n )\n })\n\n return (\n \n \n {props.reportType !== 'audit-kfis' && !props.pdf\n ? props.handleEditMetrics()}>{props.editMetrics ? : }\n : null\n }\n \n {youPeersRow}\n \n \n {props.reportType !== 'audit-kfis' && !props.pdf\n ? \n : null\n }\n \n {formatedYearsRow}\n \n \n )\n }\n\n const renderKFI = () => {\n if (props.pdf) {\n let pageViewClass = props.yearRange.length === 2 ? 'portrait-view' : 'landscape-view'\n let printViewClass = props.yearRange.length === 2 ? 'money-pdf-portrait' : 'report-pdf-landscape'\n let clientNames = props.realName ? `${props.realName} / ${props.clientName}` : props.clientName\n let yearRangeText = `${props.yearRange[0]} - ${props.yearRange[props.yearRange.length - 1]}`\n\n return (\n
    \n
    \n
    \n {props.yearRange.length === 2\n ? (\n
    \n

    Key Financial Indicator Benchmark Report

    \n

    {clientNames}

    \n

    {yearRangeText}

    \n
    \n )\n :

    {`Key Financial Indicator Benchmark Report, ${clientNames}, ${yearRangeText}`}

    \n }\n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n \n
    n = {props.n ? props.n : 0}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n {renderYearHeaderColumns(props.yearRange)}\n \n {buildRows()}\n \n {props.reportType !== 'audit-kfis'\n ? (\n \n \n \n )\n : null\n }\n
    n = {props.n ? props.n : 0}
    \n
    \n
    \n )\n }\n }\n\n return renderKFI()\n};\n\nexport default MoneyKFI;\n","// 6212\nconst dentalPNLFormat = [\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Gross Charges',\n key: 'total_revenue_gross_charges',\n map_keys: ['total_revenue_gross_charges'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Adjustments',\n key: 'total_revenue_adjustments',\n map_keys: ['total_revenue_adjustments'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Net Practice Charges',\n key: 'total_revenue_net_practice charges',\n map_keys: ['total_revenue_net_practice charges'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Collections',\n key: 'total_revenue_collections',\n map_keys: ['total_revenue_collections'],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Gross Receipts',\n key: 'gross_receipts',\n map_keys: ['total_revenue'],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Total Direct Expenses',\n header_key: 'direct_expenses',\n padding: ''\n },\n {\n bold: true,\n copy: 'Salaries - Non-Owners*',\n header_key: 'salaries_non_owners',\n key: 'salaries_non_owners',\n parentKey: 'total_direct_costs',\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Associate',\n parentKey: 'salaries_non_owners',\n key: 'salaries_associate',\n map_keys: ['total_compensation_associate', 'associate'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Hygiene',\n parentKey: 'salaries_non_owners',\n key: 'salaries_hygiene',\n map_keys: ['hygienist'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Chairside/Other',\n parentKey: 'salaries_non_owners',\n key: 'salaries_chairside_other',\n map_keys: ['assistant'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Office',\n parentKey: 'salaries_non_owners',\n key: 'salaries_office',\n map_keys: ['office'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Payroll Tax Expense',\n parentKey: 'total_direct_costs',\n key: 'payroll_tax_expense',\n map_keys: ['payroll_taxes'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Lab Fees',\n parentKey: 'total_direct_costs',\n key: 'lab_fees',\n map_keys: ['laboratory_fees'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Drugs & Supplies',\n parentKey: 'total_direct_costs',\n key: 'drugs_and_supplies',\n map_keys: ['dental_supplies'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Office Supplies/Expense',\n parentKey: 'total_direct_costs',\n key: 'office_supplies_expense',\n map_keys: ['office_expenses', 'computer_related_costs'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Total Direct Expenses',\n key: 'total_direct_costs',\n map_keys: [],\n topline: true,\n total: true,\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Gross Profit',\n key: 'gross_profit',\n map_keys: [],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Total Fixed Expenses',\n header_key: 'fixed_expenses',\n padding: ''\n },\n {\n bold: true,\n copy: 'Legal & Accounting',\n parentKey: 'total_administrative_costs',\n key: 'legal_and_accounting',\n map_keys: ['total_professional_fees'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Advertising & Promotion',\n parentKey: 'total_administrative_costs',\n key: 'advertising_and_promotion',\n map_keys: ['total_customer_costs_sales_& marketing'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Continuing Education',\n parentKey: 'total_administrative_costs',\n key: 'continuing_education',\n map_keys: ['training'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Credit Card & Bank Fees',\n parentKey: 'total_administrative_costs',\n key: 'credit_card_and_bank_fees',\n map_keys: ['other_operating_expenses'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Insurance Practice',\n parentKey: 'total_administrative_costs',\n key: 'insurance_practice',\n map_keys: ['insurance_expenses'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Travel, Meals & Entertainment',\n parentKey: 'total_administrative_costs',\n key: 'travel_entertainment_and_meals',\n map_keys: ['travel_entertainment_and_meals'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Rent, Telephone & Utilities',\n parentKey: 'total_administrative_costs',\n key: 'rent_and_facilities_costs',\n map_keys: ['rent_and_facilities_costs'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Other Fixed Costs',\n parentKey: 'total_administrative_costs',\n key: 'other_fixed_costs',\n map_keys: ['contributions_and_donations', 'people_misc_professional_fees', 'retirement_plan', 'health_insurance', 'total_customer_costs_billings_& collections', 'total_other_costs_taxes_- federal & state'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Total Fixed Expenses',\n key: 'total_administrative_costs',\n map_keys: [],\n topline: true,\n total: true,\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n bold: true,\n copy: 'Net Income (Before Non-Operating & Doctor Costs)',\n key: 'operating_expenses_net_income',\n map_keys: [],\n total: false,\n padding: '',\n whiteSpace: 'normal'\n }\n]\n// 6211 & 6213\nconst doctorPNLFormat = [\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Gross Charges',\n key: 'total_revenue_gross_charges',\n map_keys: ['total_revenue_gross_charges'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Adjustments',\n key: 'total_revenue_adjustments',\n map_keys: ['total_revenue_adjustments'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Net Practice Charges',\n key: 'total_revenue_net_practice charges',\n map_keys: ['total_revenue_net_practice charges'],\n padding: ''\n },\n {\n alwaysDisplayRow: true,\n bold: true,\n copy: 'Collections',\n key: 'total_revenue_collections',\n map_keys: ['total_revenue_collections'],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Gross Receipts',\n key: 'gross_receipts',\n map_keys: ['total_revenue'],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Total Direct Expenses',\n header_key: 'direct_expenses',\n padding: ''\n },\n {\n bold: true,\n copy: 'Salaries - Non-Owners*',\n header_key: 'salaries_non_owners',\n key: 'salaries_non_owners',\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n parentKey: 'total_direct_costs',\n },\n {\n bold: true,\n copy: 'Salaries - Associate',\n parentKey: 'salaries_non_owners',\n key: 'salaries_associate',\n map_keys: ['total_compensation_associate'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Nurse',\n parentKey: 'salaries_non_owners',\n key: 'salaries_nurse',\n map_keys: ['total_compensation_nurse'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Assistant',\n parentKey: 'salaries_non_owners',\n key: 'salaries_assistant',\n map_keys: ['total_compensation_assistant'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Salaries - Office',\n parentKey: 'salaries_non_owners',\n key: 'salaries_office',\n map_keys: ['total_compensation_office'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Payroll Tax Expense',\n parentKey: 'total_direct_costs',\n key: 'payroll_tax_expense',\n map_keys: ['payroll_taxes'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Lab Fees',\n parentKey: 'total_direct_costs',\n key: 'lab_fees',\n map_keys: ['laboratory_fees'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Medical Supplies',\n parentKey: 'total_direct_costs',\n key: 'medical_supplies',\n map_keys: ['medical_supplies'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Office Supplies/Expense',\n parentKey: 'total_direct_costs',\n key: 'office_supplies_expense',\n map_keys: ['office_expenses', 'computer_related_costs'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Total Direct Expenses',\n key: 'total_direct_costs',\n map_keys: [],\n topline: true,\n total: true,\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Gross Profit',\n key: 'gross_profit',\n map_keys: [],\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n copy: 'Total Fixed Expenses',\n header_key: 'fixed_expenses',\n padding: ''\n },\n {\n bold: true,\n copy: 'Legal & Accounting',\n parentKey: 'total_administrative_costs',\n key: 'legal_and_accounting',\n map_keys: ['total_professional_fees'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Advertising & Promotion',\n parentKey: 'total_administrative_costs',\n key: 'advertising_and_promotion',\n map_keys: ['total_customer_costs_sales_& marketing'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Continuing Education',\n parentKey: 'total_administrative_costs',\n key: 'continuing_education',\n map_keys: ['training'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Credit Card & Bank Fees',\n parentKey: 'total_administrative_costs',\n key: 'credit_card_and_bank_fees',\n map_keys: ['other_operating_expenses'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Insurance Practice',\n parentKey: 'total_administrative_costs',\n key: 'insurance_practice',\n map_keys: ['insurance_expenses'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Travel, Meals & Entertainment',\n parentKey: 'total_administrative_costs',\n key: 'travel_entertainment_and_meals',\n map_keys: ['travel_entertainment_and_meals'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Rent, Telephone & Utilities',\n parentKey: 'total_administrative_costs',\n key: 'rent_and_facilities_costs',\n map_keys: ['rent_and_facilities_costs'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Other Fixed Costs',\n parentKey: 'total_administrative_costs',\n key: 'other_fixed_costs',\n map_keys: ['contributions_and_donations', 'people_misc_professional_fees', 'retirement_plan', 'health_insurance', 'total_customer_costs_billings_& collections', 'total_other_costs_taxes_- federal & state'],\n padding: '\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0\\u00A0',\n },\n {\n bold: true,\n copy: 'Total Fixed Expenses',\n key: 'total_administrative_costs',\n map_keys: [],\n topline: true,\n total: true,\n padding: ''\n },\n { emptyRow: true },\n {\n bold: true,\n bold: true,\n copy: 'Net Income (Before Non-Operating & Doctor Costs)',\n key: 'operating_expenses_net_income',\n map_keys: [],\n total: false,\n padding: '',\n whiteSpace: 'normal'\n }\n]\n\nconst pnlRows = (naicsCode) => {\n return naicsCode.startsWith('6212') ? dentalPNLFormat : naicsCode.startsWith('621') || naicsCode.startsWith('6211') || naicsCode.startsWith('6213') ? doctorPNLFormat : null;\n}\n\nexport { pnlRows, dentalPNLFormat, doctorPNLFormat };","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { CommonSizeArrowsHelper, MonthlyPNLandBalValues, MonthlyNAICSFocusedVals } from '../report_components/MoneyHelpers';\n\nconst MonthlyHistoricTable = ({ clientName, editMetrics, handleEditMetrics, handleSelectAndLayout, rows, sheet, title, year, ...props }) => {\n const { monthly_calcs, yoy_calcs } = useContext(Data)\n const { filters } = useContext(Filters);\n let compareWith = filters.compare_with\n let numberCompare;\n if (compareWith === 'Default:YOY' || compareWith === 'YOY') {\n numberCompare = 'n = 1'\n } else {\n numberCompare = `n = ${props.n}`\n }\n const monthNames = Object.values(props.monthsObj)\n let monthsAvailable = 0\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n let useableMonths = Object.values(monthly_calcs['you']['cash'])\n useableMonths.forEach(thing => thing !== null ? monthsAvailable += 1 : null)\n\n const buildEmptyRow = (i, key = '', copy = '', relatedCheckedKey, padding = '', checked, displayChart, copyRowStyle, copyCellStyle) => {\n if (copy === 'Current Liabilities') {\n copyRowStyle['paddingTop'] = '20px'\n }\n copyRowStyle['height'] = props.page === 'naics_focused' || key === 'space_before_revenue' ? '20px' : ''\n let rowChecked = displayChart && checked && editMetrics && props.page === 'money' ?

    : ''\n\n return (\n editMetrics ? handleSelectAndLayout('money', sheet, relatedCheckedKey) : null}>\n {props.page === 'money' && !props.pdf ? {rowChecked} : null}\n {padding + copy}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {compareWith === 'Default:None' ? null : }\n {compareWith.includes('Forecast') || filters.report_period === 'Trailing 12' ? : null}\n {compareWith === 'Default:None' ? null : }\n \n )\n };\n\n const Total = (props) => {\n let style = { ...props.style, 'fontWeight': 'bold' };\n if (props.array.length === 0) { return }\n if (props.sheet == 'pnl') {\n return ({parseMoney(props.array.reduce((a, b) => a + b, 0))});\n } else {\n return ({parseMoney(props.array[monthsAvailable - 1])});\n }\n };\n\n const MonthlyCommonSized = (props) => {\n if (props.array.length === 0) { return }\n if (props.sheet == 'pnl') {\n const reducedArray = props.array.slice(0, monthsAvailable).reduce((a, b) => a + b, 0)\n\n if (_.isNumber(reducedArray) && !_.isEmpty(props.passedCalcs)) {\n const totalRevenue = Object.values(props.passedCalcs['total_revenue']).slice(0, monthsAvailable).reduce((a, b) => a + b, 0)\n\n return (\n {((reducedArray / totalRevenue) * 100).toFixed(2) + '%'}\n )\n } else {\n return (-);\n }\n } else {\n const totalAssets = Object.values(props.passedCalcs['total_assets']).filter(val => _.isNumber(val))\n const totalAssetsValue = totalAssets.length > 0 ? totalAssets[monthsAvailable - 1] : null;\n\n if (_.isNumber(props.array[0]) && _.isNumber(totalAssetsValue)) {\n let lastValue = totalAssets.length > 0 ? props.array[monthsAvailable - 1] : null;\n\n return (\n {((lastValue / totalAssetsValue) * 100).toFixed(2) + '%'}\n )\n } else {\n return (-);\n }\n }\n }\n\n const buildRow = ({ i = '', header = '', header_is_total = false, header_key = '', key = '', copy = '', padding = '', bold = '', forecast = true, checked = false, displayChart = false, relatedCheckedKey = '', map_keys = [], emptyRow = false, topline = '', whiteSpace = '', alwaysDisplayRow = false }) => {\n let passedCalcs = {}\n let underlineFormat, boldFont, valueArr;\n let compareValueArr = [];\n let zeroMonths = [];\n let toplineFormat = topline ? 'solid 1px' : '';\n\n if (compareWith === 'Default:Peers') {\n passedCalcs = monthly_calcs['avg']\n } else if (compareWith === 'Default:YOY') {\n passedCalcs = yoy_calcs['you']\n } else if (compareWith.includes('Forecast')) {\n passedCalcs = props.forecastVals\n }\n\n if (forecast) {\n if (forecast.total) {\n if (forecast.total.boldedUnderline) {\n underlineFormat = 'solid 2px';\n } else if (forecast.total.doubleUnderline) {\n underlineFormat = 'double 2px';\n } else if (forecast.total.underline) {\n underlineFormat = 'solid 1px';\n }\n\n toplineFormat = forecast.total.topline ? 'solid 1px' : '';\n } else {\n if (forecast.boldedUnderline) {\n underlineFormat = 'solid 2px';\n } else if (forecast.doubleUnderline) {\n underlineFormat = 'double 2px';\n } else if (forecast.underline) {\n underlineFormat = 'solid 1px';\n }\n\n boldFont = bold || forecast.bold ? 'bold' : '';\n toplineFormat = forecast.topline ? 'solid 1px' : '';\n }\n }\n\n const copyRowStyle = {\n 'fontWeight': boldFont,\n 'textAlign': 'left',\n 'borderBottom': underlineFormat,\n 'borderTop': toplineFormat,\n }\n\n const copyCellStyle = whiteSpace ? 'table-copy wrap-copy-cell' : 'table-copy';\n\n const valueStyle = {\n 'textAlign': 'right',\n 'borderBottom': underlineFormat,\n 'borderTop': toplineFormat ? 'solid 1px' : '',\n }\n\n if (header && header_is_total == false || header_key && header_is_total == false || emptyRow && header_is_total == false || emptyRow) return buildEmptyRow(i, key, copy, relatedCheckedKey, padding, checked, displayChart, copyRowStyle, copyCellStyle);\n\n if (props.page === 'naics_focused') {\n valueArr = MonthlyNAICSFocusedVals(props.naicsCode, monthsAvailable, key, map_keys, monthly_calcs['you'], rows)\n\n if (compareWith === 'Default:Peers') {\n compareValueArr = MonthlyNAICSFocusedVals(props.naicsCode, monthsAvailable, key, map_keys, monthly_calcs['docs_avg'], rows)\n passedCalcs = monthly_calcs['docs_avg']\n } else if (compareWith === 'Default:YOY') {\n compareValueArr = MonthlyNAICSFocusedVals(props.naicsCode, monthsAvailable, key, map_keys, yoy_calcs['you'], rows)\n passedCalcs = yoy_calcs['you']\n } else if (compareWith.includes(\"Forecast\")) {\n compareValueArr = MonthlyNAICSFocusedVals(props.naicsCode, monthsAvailable, key, map_keys, props.forecastVals, rows)\n passedCalcs = props.forecastVals\n }\n } else {\n const you = monthly_calcs['you'] ? monthly_calcs['you'][key] : undefined;\n const avg = monthly_calcs['avg'] ? monthly_calcs['avg'][key] : undefined;\n const yoy = yoy_calcs['you'] ? yoy_calcs['you'][key] : undefined;\n const forecast = props.forecastVals ? props.forecastVals[key] : undefined;\n\n valueArr = MonthlyPNLandBalValues(monthsAvailable, sheet, key, you, monthly_calcs['you'])\n\n if (compareWith === 'Default:Peers') {\n compareValueArr = MonthlyPNLandBalValues(monthsAvailable, sheet, key, avg, monthly_calcs['avg'])\n } else if (compareWith === 'Default:YOY') {\n compareValueArr = MonthlyPNLandBalValues(monthsAvailable, sheet, key, yoy, yoy_calcs['you'])\n } else if (compareWith.includes(\"Forecast\")) {\n compareValueArr = MonthlyPNLandBalValues(monthsAvailable, sheet, key, forecast, props.forecastVals)\n }\n }\n\n for (let i = 0; i < monthsAvailable + 1; i++) {\n valueArr[i] === 0 && compareValueArr.reduce((a, b) => a + b, 0) === 0 ? zeroMonths.push(i) : null;\n }\n let hideRow = zeroMonths.length === monthsAvailable && !alwaysDisplayRow ? copy : null;\n let rowStyle = copy === hideRow && !alwaysDisplayRow ? { display: 'none' } : {}\n let rowChecked = displayChart && checked && editMetrics && props.page === 'money' ?

    : ''\n\n return (\n editMetrics ? handleSelectAndLayout('money', sheet, relatedCheckedKey) : null}>\n {props.page === 'money' && !props.pdf ? {rowChecked} : null}\n \n {padding + copy}\n \n \n {parseMoney(valueArr[0])}\n \n \n {parseMoney(valueArr[1])}\n \n \n {parseMoney(valueArr[2])}\n \n \n {parseMoney(valueArr[3])}\n \n \n {parseMoney(valueArr[4])}\n \n \n {parseMoney(valueArr[5])}\n \n \n {parseMoney(valueArr[6])}\n \n \n {parseMoney(valueArr[7])}\n \n \n {parseMoney(valueArr[8])}\n \n \n {parseMoney(valueArr[9])}\n \n \n {parseMoney(valueArr[10])}\n \n \n {parseMoney(valueArr[11])}\n \n \n \n {compareWith === 'Default:None'\n ? null\n : }\n {compareWith.includes('Forecast') || filters.report_period === 'Trailing 12'\n ? : null\n }\n {compareWith === 'Default:None'\n ? null\n : }\n \n );\n };\n\n let monthlyRows = [];\n if (sheet === 'pnl' && props.naicsCode && props.naicsCode.startsWith('621')) {\n const healthCareRevenueChildKeys = [\n { key: 'total_revenue_gross_charges', copy: 'Gross Charges' }, \n { key: 'total_revenue_adjustments', copy: 'Adjustments' }, \n { key: 'total_revenue_net_practice charges', copy: 'Net Practice Charges' }, \n { key: 'total_revenue_collections', copy: 'Collections'}\n ]\n\n healthCareRevenueChildKeys.forEach(k => {\n monthlyRows.push(buildRow({ \n key: k.key,\n copy: k.copy,\n header: false,\n padding: '',\n parentKey: 'total_revenue',\n sheet: 'pnl',\n commonKey: 'revenue',\n alwaysDisplayRow: true\n }))\n })\n monthlyRows.push(buildRow({ \n key: 'space_before_revenue',\n copy: '',\n header: false,\n padding: '',\n sheet: 'pnl',\n emptyRow: true\n }))\n }\n\n rows.forEach((row, i) => {\n row.i = i\n monthlyRows.push(buildRow(row))\n })\n\n let tableID = props.page !== 'naics_focused' ? `${sheet}-monthly-money` : 'naics_focused-monthy-money'\n\n let YOYyearDisplay = props.calendarYearEnd ? year - 1 : year\n let firstTotal = filters.report_period === 'Trailing 12' ? `T12 ${year}` : 'Total'\n let firstPercent = filters.report_period === 'Trailing 12' ? `You T12 ${year}` : 'You YTD'\n let secondTotal = null\n let secondPercent = null\n if (compareWith.includes('Forecast') && filters.report_period !== 'Trailing 12') {\n secondTotal = `${props.monthlyCompareWithTitle} Total`\n secondPercent = props.monthlyCompareWithTitle\n } else if (compareWith === 'Default:Peers' && filters.report_period !== 'Trailing 12') {\n secondPercent = 'Peers Avg'\n } else if (compareWith === 'Default:YOY' && yoy_calcs['you'] && filters.report_period !== 'Trailing 12') {\n secondPercent = `YOY ${YOYyearDisplay}`\n } else if (filters.report_period === 'Trailing 12' && compareWith !== 'Default:None') {\n secondTotal = `T12 ${year - 1}`\n secondPercent = `T12 ${year - 1}`\n }\n\n const buildMonthlyPDF = (pageViewClassName, tableRows, continued = false) => {\n let sheetTitle = continued ? `${title} - ${clientName} (Continued)` : `${title} - ${clientName}`\n\n return (\n
    \n
    \n
    \n

    {sheetTitle}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {secondTotal\n ? \n : null\n }\n {secondPercent\n ? \n : null\n }\n \n \n \n {tableRows}\n \n \n
    {monthNames[0]}{monthNames[1]}{monthNames[2]}{monthNames[3]}{monthNames[4]}{monthNames[5]}{monthNames[6]}{monthNames[7]}{monthNames[8]}{monthNames[9]}{monthNames[10]}{monthNames[11]}{firstTotal}{firstPercent}{secondTotal}{secondPercent}
    {numberCompare}
    \n {props.page === 'naics_focused' || props.page === 'naics_focused-moneypdf' ?

    *The sub-accounts might not add up to total account if details are not provided.

    : null }\n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n }\n\n const buildMonthlyTable = () => {\n if (props.pdf) {\n let pageViewClass = 'landscape-view'\n let rowLength = monthlyRows.length\n\n if (rowLength > 35) {\n let firstPageRows = monthlyRows.slice(0, 35)\n let secondPageRows = monthlyRows.slice(35)\n return (\n <>\n {buildMonthlyPDF(pageViewClass, firstPageRows)}\n {buildMonthlyPDF(pageViewClass, secondPageRows, true)}\n \n )\n } else {\n return buildMonthlyPDF(pageViewClass, monthlyRows)\n }\n\n } else {\n return (\n
    \n
    \n \n \n \n {props.page === 'money' ? () : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {secondTotal\n ? \n : null\n }\n {secondPercent\n ? \n : null\n }\n \n \n \n {monthlyRows}\n \n \n \n \n
    handleEditMetrics()}>{editMetrics ? : }{monthNames[0]}{monthNames[1]}{monthNames[2]}{monthNames[3]}{monthNames[4]}{monthNames[5]}{monthNames[6]}{monthNames[7]}{monthNames[8]}{monthNames[9]}{monthNames[10]}{monthNames[11]}{firstTotal}{firstPercent}{secondTotal}{secondPercent}
    {numberCompare}
    \n
    \n
    \n )\n }\n }\n\n return buildMonthlyTable()\n};\n\nexport default MonthlyHistoricTable;\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { MonthlyCashFlowValues, CashFlowCommonSizeArrows } from '../report_components/MoneyHelpers';\n\nconst MonthlyHistoricCashFlow = (props) => {\n const allData = useContext(Data);\n const { filters } = useContext(Filters);\n let compareWith = filters.compare_with;\n const calcsYou = allData.monthly_calcs.you;\n const calcsPeers = compareWith === 'Default:None' ? null : allData.monthly_calcs.avg;\n const previousYearCalcsYou = allData.previousYearCalcs.you;\n const previousYearCalcsPeers = compareWith === 'Default:None' ? null : allData.previousYearCalcs.avg;\n const calcsYOYYou = allData.yoy_calcs.you;\n const previousYOYYou = allData.previous_yoy_calcs.you;\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n const monthNames = Object.values(props.monthsObj)\n let monthsAvailable = 0\n let useableMonths = Object.values(calcsYou['cash'])\n useableMonths.forEach(thing => thing !== null ? monthsAvailable += 1 : null)\n let passedCalcs = null\n\n if (compareWith === 'Default:Peers') {\n passedCalcs = calcsPeers\n } else if (compareWith === 'Default:YOY') {\n passedCalcs = previousYearCalcsYou\n } else if (compareWith.includes('Forecast')) {\n passedCalcs = props.forecastVals\n }\n\n\n const CommonSizeArrowsHelper = (props) => {\n if (_.isNumber(props.totalValueYou) && _.isNumber(props.totalValueCompare)) {\n let arrow;\n const totalRevenueYou = calcsYou['total_revenue'] ? Object.values(calcsYou['total_revenue']).reduce((a, b) => a + b, 0) : 0;\n const totalRevenueCompareTo = props.passedCalcs['total_revenue'] ? Object.values(props.passedCalcs['total_revenue']).reduce((a, b) => a + b, 0) : 0;\n const you = totalRevenueYou ? (props.totalValueYou / totalRevenueYou) : 0\n const compareTo = totalRevenueCompareTo ? (props.totalValueCompare / totalRevenueCompareTo) : 0\n arrow = CashFlowCommonSizeArrows(you, compareTo, props.keyArrBuilder)\n if (compareTo && arrow === 'better' || compareTo && arrow === 'best') {\n arrow =

    \n } else if (compareTo && arrow === 'worse' || compareTo && arrow === 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n return ({arrow});\n } else {\n return ();\n }\n }\n\n const MonthlyCommonSized = (props) => {\n if (props.passedCalcs && _.isNumber(props.totalValue)) {\n const totalRevenue = props.passedCalcs['total_revenue'] ? Object.values(props.passedCalcs['total_revenue']).reduce((a, b) => a + b, 0) : 0\n return (\n {totalRevenue ? ((props.totalValue / totalRevenue) * 100).toFixed(2) + '%' : ''}\n )\n } else if (props.totalValue === undefined) {\n // For hiding Cash flow from operating activities:, investing activities:, etc.\n return ()\n } else {\n return (-)\n }\n }\n\n const buildRows = () => {\n let allRows = []\n let cashFlowRows = [];\n props.rows.forEach((row) => {\n let newRow = null\n if (compareWith === 'Default:None') {\n let { youValues } = MonthlyCashFlowValues(row.key, calcsYou, previousYearCalcsYou, null, null)\n newRow = { ...row, you: youValues, compare: null }\n } else if (compareWith === 'Default:Peers') {\n let { youValues, compareValues } = MonthlyCashFlowValues(row.key, calcsYou, previousYearCalcsYou, calcsPeers, previousYearCalcsPeers)\n newRow = { ...row, you: youValues, compare: compareValues }\n } else if (compareWith === 'Default:YOY') {\n let { youValues, compareValues } = MonthlyCashFlowValues(row.key, calcsYou, previousYearCalcsYou, calcsYOYYou, previousYOYYou)\n newRow = { ...row, you: youValues, compare: compareValues }\n } else if (compareWith.includes('Forecast')) {\n let { youValues, compareValues } = MonthlyCashFlowValues(row.key, calcsYou, previousYearCalcsYou, props.forecastVals, previousYearCalcsYou)\n newRow = { ...row, you: youValues, compare: compareValues }\n }\n if (newRow) { cashFlowRows.push(newRow) }\n })\n\n return cashFlowRows.map((row, i) => {\n const borderKeys = ['Net cash flow from operating activities', 'Net cash flow from investing activities', 'Net cash flow from financing activities']\n const paddingTopKeys = ['Cash flow from investing activities:', 'Cash flow from financing activities:', 'Net change in cash and cash equivalents', 'Cash at beginning of period', 'Cash at end of period']\n let copyClassName = ''\n let borderTopStyle = borderKeys.includes(row.copy) ? { borderTop: 'solid 1px', minHeight: '17px', paddingBottom: '17px' } : { borderTop: 'none' }\n let metricNameStyle;\n let paddingTopStyle = { paddingTop: '3px' }\n let fontStyle = { textAlign: 'left' }\n let youTotalValue, compareTotalValue;\n let youVals = row['you'];\n let compareVals = row['compare']\n\n if (row.key === 'cash_beginning_period') {\n compareTotalValue = compareVals ? compareVals[1] : null;\n youTotalValue = youVals ? youVals[1] : null;\n } else if (row.key === 'cash_end_period') {\n let getAllValues = youVals ? Object.values(youVals) : 0;\n let indexOfNullValue = getAllValues.indexOf(null);\n compareTotalValue = compareVals && indexOfNullValue >= 0 ? compareVals[indexOfNullValue] : compareVals && compareVals.hasOwnProperty(12) ? compareVals[12] : null;\n youTotalValue = youVals && indexOfNullValue >= 0 ? youVals[indexOfNullValue] : youVals && youVals.hasOwnProperty(12) ? youVals[12] : null;\n } else {\n let numberOfKeys = youVals ? Object.keys(youVals).length : 0;\n if (numberOfKeys) {\n compareTotalValue = compareVals ? Object.values(compareVals).slice(0, monthsAvailable).reduce((a, b) => a + b, 0) : 0;\n youTotalValue = youVals ? Object.values(youVals).reduce((a, b) => a + b, 0) : 0;\n }\n }\n\n props.pdf ? copyClassName = 'monthly-cash-flow-copy' : fontStyle['minWidth'] = '224px'\n\n if (props.pdf && paddingTopKeys.includes(row.copy)) {\n paddingTopStyle['paddingTop'] = '8px'\n } else if (paddingTopKeys.includes(row.copy)) {\n paddingTopStyle['paddingTop'] = '20px'\n }\n\n let cashCopyName = row.copy.toLowerCase().includes('cash')\n\n if (props.pdf && cashCopyName) {\n fontStyle = { ...fontStyle, fontWeight: 'bold', fontSize: '10px', paddingLeft: 0 }\n } else if (cashCopyName) {\n fontStyle = { ...fontStyle, fontWeight: 'bold', fontSize: '12px', paddingLeft: 0 }\n } else {\n fontStyle = { ...fontStyle, fontWeight: 'none', paddingLeft: '18px' }\n }\n\n let totalFontBold = { fontWeight: 'bold' };\n let totalStyles = { ...totalFontBold, ...paddingTopStyle }\n metricNameStyle = { ...fontStyle, ...paddingTopStyle }\n\n let zeroMonths = [];\n for (i = 0; i <= 12 + 1; i++) {\n compareTotalValue === 0 && youVals[i] === 0 || compareTotalValue === 0 && youVals[i] === null ? zeroMonths.push(i) : null\n }\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n let hideRow = zeroMonths.length === 12 || !row.monthlyView;\n let rowStyle = hideRow ? { 'display': 'none' } : borderTopStyle\n return (\n props.editMetrics ? props.handleSelectAndLayout('money', 'cash_flow', row.relatedCheckedKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n \n {row.copy}\n \n \n {youVals ? parseMoney(youVals[1]) : ''}\n \n \n {youVals ? parseMoney(youVals[2]) : ''}\n \n \n {youVals ? parseMoney(youVals[3]) : ''}\n \n \n {youVals ? parseMoney(youVals[4]) : ''}\n \n \n {youVals ? parseMoney(youVals[5]) : ''}\n \n \n {youVals ? parseMoney(youVals[6]) : ''}\n \n \n {youVals ? parseMoney(youVals[7]) : ''}\n \n \n {youVals ? parseMoney(youVals[8]) : ''}\n \n \n {youVals ? parseMoney(youVals[9]) : ''}\n \n \n {youVals ? parseMoney(youVals[10]) : ''}\n \n \n {youVals ? parseMoney(youVals[11]) : ''}\n \n \n {youVals ? parseMoney(youVals[12]) : ''}\n \n {props.page !== 'money' || [0, 12, 16].includes(i) ? :\n \n {parseMoney(youTotalValue)}\n }\n {props.page !== 'money' || [0, 12, 16].includes(i) ? :\n }\n {compareWith === 'Default:None'\n ? null\n : props.page !== 'money' || [0, 12, 16].includes(i)\n ? \n :\n \n }\n {compareWith.includes('Forecast') && [0, 12, 16].includes(i)\n ? \n : compareWith.includes('Forecast')\n ? \n {parseMoney(compareTotalValue)}\n \n : null}\n {compareWith === 'Default:None'\n ? null\n : props.page !== 'money' || [0, 12, 16].includes(i)\n ? \n :\n \n }\n \n )\n })\n }\n\n const rows = buildRows()\n let numberCompare;\n if (compareWith === 'Default:YOY' || compareWith === 'YOY') {\n numberCompare = 'n = 1'\n } else {\n numberCompare = `n = ${props.n}`\n }\n\n let YOYyearDisplay = props.calendarYearEnd ? props.year - 1 : props.year\n let firstTotal = filters.report_period === 'Trailing 12' ? `T12 ${props.year}` : 'Total'\n let firstPercent = filters.report_period === 'Trailing 12' ? `You T12 ${props.year}` : 'You YTD'\n let secondPercent = null\n if (compareWith.includes('Forecast') && filters.report_period !== 'Trailing 12') {\n secondPercent = props.monthlyCompareWithTitle\n } else if (compareWith === 'Default:Peers' && filters.report_period !== 'Trailing 12') {\n secondPercent = 'Peers Avg'\n } else if (compareWith === 'Default:YOY' && filters.report_period !== 'Trailing 12') {\n secondPercent = `YOY ${YOYyearDisplay}`\n } else if (filters.report_period === 'Trailing 12' && compareWith !== 'Default:None') {\n secondPercent = `T12 ${props.year - 1}`\n }\n\n const buildMonthlyCashFlowTable = () => {\n if (props.pdf) {\n let pageViewClass = 'landscape-view'\n return (\n
    \n
    \n
    \n

    {`Cash Flow - ${props.clientName}`}

    \n
    \n \n \n \n \n {monthNames.map(month =>\n \n )}\n \n \n {compareWith === 'Default:None' ? null : }\n {secondPercent\n ? \n : null\n }\n \n \n \n {rows}\n \n \n
    \n {month}\n {firstTotal}{firstPercent}{secondPercent}
    {numberCompare}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n \n \n \n \n {monthNames.map(month =>\n \n )}\n \n \n {compareWith === 'Default:None' ? null : }\n {secondPercent\n ? \n : null\n }\n \n \n \n {rows}\n \n \n \n \n
    props.handleEditMetrics()}>{props.editMetrics ? : }\n {month}\n {firstTotal}{firstPercent}{secondPercent}
    {numberCompare}
    \n
    \n
    \n )\n }\n }\n\n return buildMonthlyCashFlowTable()\n}\n\nexport default MonthlyHistoricCashFlow;\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { KFIsCommonSizeArrows, MonthlyKFIsValues } from '../report_components/MoneyHelpers';\n\nconst MoneyMonthlyKFI = (props) => {\n const { monthly_calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs } = useContext(Data);\n const { filters } = useContext(Filters);\n let compareWith = filters.compare_with;\n const calcsYou = monthly_calcs['you'];\n const previousYearCalcsYou = previousYearCalcs['you'];\n const calcsPeers = compareWith === 'Default:None' ? null : monthly_calcs['avg'];\n const previousYearCalcsPeers = compareWith === 'Default:None' ? null : previousYearCalcs['avg'];\n const previousYOYYou = previous_yoy_calcs['you'];\n let numberOfMonths = 0\n let useableMonths = Object.values(monthly_calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null ? numberOfMonths += 1 : null)\n const monthNames = Object.values(props.monthsObj)\n let arrowCellClass = props.pdf ? 'common-size-arrow-pdf' : 'common-size-arrow';\n let commonSizeValCellClass = props.pdf ? 'common-size-cell-pdf' : 'common-size-cell';\n\n let numberCompare;\n if (filters && compareWith === 'Default:YOY') {\n numberCompare = 'n = 1'\n } else {\n numberCompare = `n = ${props.n}`\n }\n\n function formatPercent(value) {\n if (value) {\n return (Math.round(value * 10000) / 100) + '%';\n } else {\n return '-'\n }\n }\n\n function formatDays(value) {\n if (value) {\n // We want to check if zero has a negative sign or not. If it does we want to get rid of the negative sign.\n // We don't want to see -0.0 days.\n let checkPositiveValue = value.toFixed(1)\n if (checkPositiveValue == 0) {\n return `${Math.abs(checkPositiveValue)} days`;\n } else {\n return `${checkPositiveValue} days`\n }\n } else {\n return '-'\n }\n }\n\n function formatTwoDecimal(value) {\n if (value) {\n return value.toFixed(2);\n } else {\n return '-'\n }\n }\n\n function undefinedToNull(value) {\n if (typeof value == 'undefined') {\n return value = null\n } else {\n return value\n }\n }\n\n function rowFormatter(amount, key) {\n // Glenn wanted to add Taxes - Federal & State to the Analysis table\n const roundNumber = ['number_of_holes_on_golf_course'];\n const ratio = ['quick_ratio', 'debt_ratio', 'operating_cash_flow_kfi', 'current_ratio', 'net_working_capital_ratio', 'debt_to_equity', 'senior_debt_to_ebitda', 'ebitda_to_annual_interest']\n const days = ['days_cash_on_hand', 'ar_days', 'ap_days']\n const money = ['net_working_capital', 'operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization', 'ebitda', 'maintenace_per_golf_hole']\n const twoDecimal = ['asset_turnover_ratio', 'inventory_turnover_ratio']\n const percent = ['total_revenue_growth_rate', 'net_profit', 'cash_flow_margin', 'roa', 'roe', 'roce', 'gross_profit_common_size_revenue', 'operating_profit_common_size_revenue', 'gross_profit', 'operating_profit']\n\n if (roundNumber.includes(key)) {\n return _.isNumber(amount) ? Math.round(amount) : '-'\n } else if (ratio.includes(key)) {\n return formatTwoDecimal(amount)\n } else if (days.includes(key)) {\n return formatDays(amount)\n } else if (money.includes(key)) {\n return parseMoney(amount);\n } else if (twoDecimal.includes(key)) {\n return formatTwoDecimal(amount)\n } else if (percent.includes(key)) {\n return formatPercent(amount, key)\n } else {\n return _.isNumber(amount) ? '-' : ''\n };\n }\n\n function CommonSizeArrowsHelper(props) {\n\n if (props.valueYou) {\n let arrow = KFIsCommonSizeArrows(props.valueYou, props.valueCompareTo, props.keyArrBuilder)\n if (arrow === 'better' || arrow === 'best') {\n arrow =

    \n } else if (arrow === 'worse' || arrow === 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n\n return (\n {arrow}\n )\n } else {\n return ()\n };\n }\n\n\n let monthlyRows = []\n const buildRows = () => {\n props.rows.forEach((row, i) => {\n let paddingLeft = { paddingLeft: row.paddingLeft }\n let paddingTop = props.pdf ? { paddingTop: '8px' } : { paddingTop: '20px' }\n let borderBottom = { borderBottom: '2px solid #000000' }\n let titleStyle = row['parentKey'] === 'parent' ? { ...paddingLeft, ...borderBottom, ...paddingTop } : {}\n let hideRow = '';\n let zeroYears = [];\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n if (row.key.includes('title')) {\n monthlyRows.push(\n props.editMetrics ? props.handleSelectAndLayout('money', 'kfis', row.relatedCheckKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n \n {row.copy}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {compareWith === 'Default:None' ? null : }\n {compareWith === 'Default:None' ? null : }\n \n )\n } else {\n // let key = entry[0]; // Ex. Current Ratio\n // let value = entry[1]; // Ex. current_ratio\n // We need to get the sum of 12 trailing/previous month values for each of these keys.\n // looks like { current_ratio: { 1: 100, 2: 300, ... }, roa: { 1: 0, 2: 10, ...} }\n const trailing12MonthsKeys = ['Return on Assets (ROA)', 'Return on Equity (ROE)', 'Return on Capital Employed (ROCE)', 'Asset Turnover Ratio', 'Inventory Turnover Ratio', 'Accounts Receivable Days', 'Accounts Payable Days', 'Senior Debt / EBITDA', 'EBITDA / Annual Interest'];\n const trailing12MonthsKey = trailing12MonthsKeys.includes(row.copy);\n let youVals, compareVals, ytdRowYou, ytdRowComparison;\n\n if (Object.values(previousYearCalcsYou).length > 0) {\n let { youValues, compareValues, ytdYou, ytdCompare } = MonthlyKFIsValues(row, numberOfMonths, compareWith, monthly_calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs, props.forecastVals)\n youVals = youValues;\n compareVals = compareValues;\n ytdRowYou = ytdYou;\n ytdRowComparison = ytdCompare;\n }\n\n const buildRow = (row, trailing12MonthsKey, youValues, compareValues, ytdYou, ytdCompare) => {\n let valuesArr = [];\n let valuesArrCompare = [];\n let monthArr = Object.keys(props.monthsObj);\n\n if (youValues) {\n monthArr.forEach(month => {\n valuesArr.push(undefinedToNull(youValues[month]))\n valuesArrCompare.push(compareValues ? undefinedToNull(compareValues[month]) : null)\n })\n }\n\n let hideRow = '';\n let zeroMonths = [];\n let comparisonZM = false\n let youZM = false\n ytdCompare === 0 || ytdCompare === undefined ? comparisonZM = true : null\n\n monthArr.forEach(m => {\n valuesArr[m] === 0 || valuesArr[m] === null ? youZM = true : null\n comparisonZM && youZM ? zeroMonths.push(m) : null\n })\n\n zeroMonths.length === 12 ? hideRow = row.copy : null\n\n let rowStyle, dataStyle = {}\n if (row.copy === 'EBITDA') {\n rowStyle = { borderBottom: '1px solid black' }\n } else if (row.parentKey === 'ebitda') {\n dataStyle = { paddingLeft: '18px' }\n } else if (row.copy === hideRow) {\n rowStyle = { ...rowStyle, display: 'none' }\n } else {\n dataStyle = { textAlign: 'right' }\n }\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n // Glenn wants to add (T12) to row labels in order to show trailing 12 months calculations are being used in the table.\n return (\n \n props.editMetrics ? props.handleSelectAndLayout('money', 'kfis', row.relatedCheckedKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n \n {trailing12MonthsKey ? `${row.copy} (T12)` : row.copy}\n \n \n {rowFormatter(valuesArr[0], row.key)}\n \n \n {rowFormatter(valuesArr[1], row.key)}\n \n \n {rowFormatter(valuesArr[2], row.key)}\n \n \n {rowFormatter(valuesArr[3], row.key)}\n \n \n {rowFormatter(valuesArr[4], row.key)}\n \n \n {rowFormatter(valuesArr[5], row.key)}\n \n \n {rowFormatter(valuesArr[6], row.key)}\n \n \n {rowFormatter(valuesArr[7], row.key)}\n \n \n {rowFormatter(valuesArr[8], row.key)}\n \n \n {rowFormatter(valuesArr[9], row.key)}\n \n \n {rowFormatter(valuesArr[10], row.key)}\n \n \n {rowFormatter(valuesArr[11], row.key)}\n \n {props.page === 'money' ?\n <>\n \n {rowFormatter(ytdYou, row.key)}\n \n {compareWith !== 'Default:None' ? : null}\n {compareWith !== 'Default:None' ? {rowFormatter(ytdCompare, row.key)} : null}\n \n : null}\n \n \n )\n };\n\n monthlyRows.push(buildRow(row, trailing12MonthsKey, youVals, compareVals, ytdRowYou, ytdRowComparison))\n }\n })\n return monthlyRows;\n }\n\n let YOYyearDisplay = props.calendarYearEnd ? props.year - 1 : props.year\n let firstTotal = filters.report_period === 'Trailing 12' ? `T12 ${props.year}` : 'You YTD'\n let secondTotal = null\n if (compareWith.includes('Forecast') && filters.report_period !== 'Trailing 12') {\n secondTotal = props.monthlyCompareWithTitle\n } else if (compareWith === 'Default:Peers' && filters.report_period !== 'Trailing 12') {\n secondTotal = 'Peers Avg'\n } else if (compareWith === 'Default:YOY' && filters.report_period !== 'Trailing 12') {\n secondTotal = `YOY ${YOYyearDisplay}`\n } else if (filters.report_period === 'Trailing 12' && compareWith !== 'Default:None') {\n secondTotal = `T12 ${props.year - 1}`\n }\n\n const buildMonthlyKFITable = () => {\n if (props.pdf) {\n let pageViewClass = 'landscape-view'\n\n return (\n
    \n
    \n
    \n

    {`Key Financial Indicators - ${props.clientName}`}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {compareWith === 'Default:None' ? null : }\n {secondTotal\n ? \n : null\n }\n \n \n \n {buildRows()}\n \n \n
    {monthNames[0]}{monthNames[1]}{monthNames[2]}{monthNames[3]}{monthNames[4]}{monthNames[5]}{monthNames[6]}{monthNames[7]}{monthNames[8]}{monthNames[9]}{monthNames[10]}{monthNames[11]}{firstTotal}{secondTotal}
    {numberCompare}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n <>\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {compareWith === 'Default:None' ? null : }\n {secondTotal\n ? \n : null\n }\n \n \n \n {buildRows()}\n \n \n \n \n
    props.handleEditMetrics()}>{props.editMetrics ? : }{monthNames[0]}{monthNames[1]}{monthNames[2]}{monthNames[3]}{monthNames[4]}{monthNames[5]}{monthNames[6]}{monthNames[7]}{monthNames[8]}{monthNames[9]}{monthNames[10]}{monthNames[11]}{firstTotal}{secondTotal}
    {numberCompare}
    \n
    \n
    \n \n )\n }\n }\n\n\n return buildMonthlyKFITable()\n};\n\nexport default MoneyMonthlyKFI;\n","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { CommonSizeArrowsHelper, YTDNAICSFocusedVals, YTDPnlandBalCommonSizeValue, YTDPnlandBalValues } from '../report_components/MoneyHelpers';\n\nconst MoneyYTD = ({ clientName, editMetrics, handleEditMetrics, handleSelectAndLayout, n, rows, sheet, title, year, ...props }) => {\n const { monthly_calcs } = useContext(Data);\n const { filters } = useContext(Filters);\n let compareWith = filters.compare_with;\n // Only two years being used for YTD tables.\n // Each month with values should have total revenue. Use to check how many months with values are available and label the YTD columns with the month/year.\n const previousYearYTDYouTotalRevenue = monthly_calcs[year - 1] ? monthly_calcs[year - 1]['you']['total_revenue'] : undefined;\n const currentYearYTDYouTotalRevenue = monthly_calcs[year] ? monthly_calcs[year]['you']['total_revenue'] : undefined;\n let firstYearMonth = previousYearYTDYouTotalRevenue ? Object.values(previousYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let secondYearMonth = currentYearYTDYouTotalRevenue ? Object.values(currentYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let clientFirstYearMonth = firstYearMonth < 10 ? '0' + firstYearMonth.toString() : firstYearMonth;\n let clientSecondYearMonth = secondYearMonth < 10 ? '0' + secondYearMonth.toString() : secondYearMonth;\n\n function buildEmptyRow(i, key = '', copy = '', relatedCheckedKey, padding = '', checked, displayChart, copyCellStyle, firstStyle, secondStyle) {\n\n if (copy === 'Current Liabilities') {\n secondStyle['paddingTop'] = '20px'\n }\n if (props.page === 'naics_focused' || key === 'space_before_revenue') {\n firstStyle['height'] = '20px';\n secondStyle['height'] = '20px';\n }\n\n let rowChecked = displayChart && checked && editMetrics && props.page === 'money' ?

    : ''\n\n return (\n editMetrics ? handleSelectAndLayout('money', sheet, relatedCheckedKey) : null}>\n {props.page === 'money' && !props.pdf ? {rowChecked} : null}\n {padding + copy}\n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n )\n };\n\n function Total(props) {\n return (\n {parseMoney(props.value)}\n )\n\n }\n\n function Delta(props) {\n return (\n {parseMoney(props.valueCurrentYear - props.valuePreviousYear)}\n )\n }\n\n let totalLiabAndEqVals, netWorthVals;\n function buildRow({ i = '', header = '', key = '', header_key = '', relatedCheckedKey = '', copy = '', padding = '', bold = '', forecast = '', checked = false, displayChart = '', map_keys = [], emptyRow = false, topline = '', whiteSpace = '', alwaysDisplayRow = false }) {\n let underlineFormat;\n let boldFont = 'bold';\n let toplineFormat = topline ? 'solid 1px' : '';\n\n if (forecast) {\n if (forecast.total) {\n if (forecast.total.boldedUnderline) {\n underlineFormat = 'solid 2px';\n } else if (forecast.total.doubleUnderline) {\n underlineFormat = 'double 2px';\n } else if (forecast.total.underline) {\n underlineFormat = 'solid 1px';\n }\n\n toplineFormat = forecast.total.topline ? 'solid 1px' : '';\n } else {\n if (forecast.boldedUnderline) {\n underlineFormat = 'solid 2px';\n } else if (forecast.doubleUnderline) {\n underlineFormat = 'double 2px';\n } else if (forecast.underline) {\n underlineFormat = 'solid 1px';\n }\n\n toplineFormat = forecast.topline ? 'solid 1px' : '';\n }\n }\n\n const copyCellStyle = whiteSpace ? 'account-column wrap-copy-cell' : 'account-column';\n\n const firstEmptyStyle = {\n fontWeight: boldFont,\n textAlign: 'left',\n borderBottom: underlineFormat,\n borderTop: toplineFormat,\n backgroundColor: '#BFE0AE'\n }\n\n const secondEmptyStyle = {\n fontWeight: boldFont,\n textAlign: 'left',\n borderBottom: underlineFormat,\n borderTop: toplineFormat,\n }\n\n const firstValueStyle = {\n textAlign: 'right',\n borderBottom: underlineFormat,\n borderTop: toplineFormat ? 'solid 1px' : '',\n backgroundColor: '#BFE0AE'\n }\n\n const secondValueStyle = {\n textAlign: 'right',\n borderBottom: underlineFormat,\n borderTop: toplineFormat ? 'solid 1px' : '',\n }\n let passedCalcsPrevYear = props.page === 'naics_focused' ? monthly_calcs[year - 1]['docs_avg'] : monthly_calcs[year - 1]['avg'];\n let passedCalcsCurrentYear = props.page === 'naics_focused' ? monthly_calcs[year]['docs_avg'] : monthly_calcs[year]['avg'];\n let valuePreviousYear, valueCurrentYear, valuePreviousYearPeers, valueCurrentYearPeers;\n let valuePYMonthlyCommonSize, valuePYPeersMonthlyCommonSize, valueCYMonthlyCommonSize, valueCYPeersMonthlyCommonSize;\n\n if (header || header_key || emptyRow) return buildEmptyRow(i, key, copy, relatedCheckedKey, padding, checked, displayChart, copyCellStyle, firstEmptyStyle, secondEmptyStyle);\n if (props.page === 'naics_focused') {\n valuePreviousYear = YTDNAICSFocusedVals(props.naicsCode, key, map_keys, monthly_calcs[year - 1]['you'], rows)\n valueCurrentYear = YTDNAICSFocusedVals(props.naicsCode, key, map_keys, monthly_calcs[year]['you'], rows)\n valuePYMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valuePreviousYear, sheet, monthly_calcs[year - 1]['you'])\n valueCYMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valueCurrentYear, sheet, monthly_calcs[year]['you'])\n\n if (compareWith === 'Peers') {\n valuePreviousYearPeers = YTDNAICSFocusedVals(props.naicsCode, key, map_keys, monthly_calcs[year - 1]['docs_avg'], rows)\n valueCurrentYearPeers = YTDNAICSFocusedVals(props.naicsCode, key, map_keys, monthly_calcs[year]['docs_avg'], rows)\n valuePYPeersMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valuePreviousYearPeers, sheet, monthly_calcs[year - 1]['docs_avg'])\n valueCYPeersMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valueCurrentYearPeers, sheet, monthly_calcs[year]['docs_avg'])\n }\n } else {\n const previousYearNonMonthlyYTDYou = monthly_calcs[year - 1] ? monthly_calcs[year - 1]['you'][key] : undefined;\n const currentYearNonMonthlyYTDYou = monthly_calcs[year] ? monthly_calcs[year]['you'][key] : undefined;\n \n valuePreviousYear = YTDPnlandBalValues(sheet, key, previousYearNonMonthlyYTDYou, monthly_calcs[year - 1]['you'])\n valueCurrentYear = YTDPnlandBalValues(sheet, key, currentYearNonMonthlyYTDYou, monthly_calcs[year]['you'])\n valuePYMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valuePreviousYear, sheet, monthly_calcs[year - 1]['you'])\n valueCYMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valueCurrentYear, sheet, monthly_calcs[year]['you'])\n \n if (compareWith === 'Peers') {\n const previousYearNonMonthlyYTDPeers = monthly_calcs[year - 1] ? monthly_calcs[year - 1]['avg'][key] : undefined;\n const currentYearNonMonthlyYTDPeers = monthly_calcs[year] ? monthly_calcs[year]['avg'][key] : undefined;\n valuePreviousYearPeers = YTDPnlandBalValues(sheet, key, previousYearNonMonthlyYTDPeers, monthly_calcs[year - 1]['avg'])\n valueCurrentYearPeers = YTDPnlandBalValues(sheet, key, currentYearNonMonthlyYTDPeers, monthly_calcs[year]['avg'])\n valuePYPeersMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valuePreviousYearPeers, sheet, monthly_calcs[year - 1]['avg'])\n valueCYPeersMonthlyCommonSize = YTDPnlandBalCommonSizeValue(valueCurrentYearPeers, sheet, monthly_calcs[year]['avg'])\n }\n }\n\n let comparisonPY = valuePYPeersMonthlyCommonSize === '0.00' || valuePYPeersMonthlyCommonSize === undefined ? true : null\n let comparisonCY = valueCYPeersMonthlyCommonSize === '0.00' || valueCYPeersMonthlyCommonSize === undefined ? true : null\n let hideRow = valuePreviousYear === 0 && comparisonPY && valueCurrentYear === 0 && comparisonCY && !alwaysDisplayRow ? copy : null\n let rowChecked = displayChart && checked && editMetrics ?

    : '';\n\n return (\n editMetrics ? handleSelectAndLayout('money', sheet, relatedCheckedKey) : null}>\n {props.page === 'money' && !props.pdf ? {rowChecked} : null}\n {copy === 'Current Liabilities'\n ? {padding + copy}\n : {padding + copy}}\n \n \n {valuePYMonthlyCommonSize ? (valuePYMonthlyCommonSize * 100).toFixed(2) + '%' : '-'}\n \n { compareWith === 'Peers'\n ? \n : null }\n { compareWith === 'Peers'\n ? \n {valuePYPeersMonthlyCommonSize ? (valuePYPeersMonthlyCommonSize * 100).toFixed(2) + '%' : '-'}\n \n : null }\n \n \n \n {valueCYMonthlyCommonSize ? (valueCYMonthlyCommonSize * 100).toFixed(2) + '%' : '-'}\n \n { compareWith === 'Peers'\n ? \n : null }\n { compareWith === 'Peers'\n ? \n {valueCYPeersMonthlyCommonSize ? (valueCYPeersMonthlyCommonSize * 100).toFixed(2) + '%' : '-'}\n \n : null }\n \n \n \n );\n };\n\n let ytdRows = [];\n if (sheet === 'pnl' && props.naicsCode && props.naicsCode.startsWith('621')) {\n const healthCareRevenueChildKeys = [\n { key: 'total_revenue_gross_charges', copy: 'Gross Charges' }, \n { key: 'total_revenue_adjustments', copy: 'Adjustments' }, \n { key: 'total_revenue_net_practice charges', copy: 'Net Practice Charges' }, \n { key: 'total_revenue_collections', copy: 'Collections'}\n ]\n\n healthCareRevenueChildKeys.forEach(k => {\n ytdRows.push(buildRow({ \n key: k.key,\n copy: k.copy,\n header: false,\n padding: '',\n parentKey: 'total_revenue',\n sheet: 'pnl',\n commonKey: 'revenue',\n alwaysDisplayRow: true\n }))\n })\n ytdRows.push(buildRow({ \n key: 'space_before_revenue',\n copy: '',\n header: false,\n padding: '',\n sheet: 'pnl',\n emptyRow: true\n }))\n }\n rows.forEach((row) => {\n ytdRows.push(buildRow(row))\n })\n\n let tableID = props.page !== 'naics_focused' ? `${sheet}-ytd` : 'naics_focused-ytd'\n\n const buildYTDTable = () => {\n if (props.pdf) {\n let pageViewClass = 'portrait-view'\n return (\n
    \n
    \n
    \n

    {`${title} - ${clientName}`}

    \n
    \n \n \n \n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n \n \n {ytdRows}\n \n \n
    {`YTD ${clientFirstYearMonth}/${year - 1}`}YouPeers{`YTD ${clientSecondYearMonth}/${year}`}YouPeersΔ Delta
    n = {n ? n : 0}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n \n \n {props.page === 'money' ? () : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n \n \n {ytdRows}\n \n \n \n \n
    handleEditMetrics()}>{editMetrics ? : }{`YTD ${clientFirstYearMonth}/${year - 1}`}YouPeers{`YTD ${clientSecondYearMonth}/${year}`}YouPeersΔ Delta
    n = {n ? n : 0}
    \n
    \n
    \n )\n }\n }\n\n return buildYTDTable()\n};\n\nexport default MoneyYTD;","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { parseMoney } from '../../utils';\nimport { YTDCashFlowValues, CashFlowCommonSizeArrows } from '../report_components/MoneyHelpers';\n\nconst MoneyYTDCashFlow = (props) => {\n const { monthly_calcs, previousYearCalcs } = useContext(Data);\n const { filters } = useContext(Filters);\n const calcYearKeys = Object.keys(monthly_calcs);\n const previousYearCalcKeys = Object.keys(previousYearCalcs['monthly_full_year']);\n let compareWith = filters.compare_with;\n let oldYear, newYear;\n let previousOldFullYear, previousNewFullYear;\n previousOldFullYear = previousYearCalcKeys[0];\n previousNewFullYear = previousYearCalcKeys[1];\n\n const previousYearYTDYouTotalRevenue = monthly_calcs[props.year - 1] ? monthly_calcs[props.year - 1]['you']['total_revenue'] : undefined;\n const currentYearYTDYouTotalRevenue = monthly_calcs[props.year] ? monthly_calcs[props.year]['you']['total_revenue'] : undefined;\n let firstYearMonth = previousYearYTDYouTotalRevenue ? Object.values(previousYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let secondYearMonth = currentYearYTDYouTotalRevenue ? Object.values(currentYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let clientFirstYearMonth = firstYearMonth < 10 ? '0' + firstYearMonth.toString() : firstYearMonth;\n let clientSecondYearMonth = secondYearMonth < 10 ? '0' + secondYearMonth.toString() : secondYearMonth;\n\n if (Number(calcYearKeys[1]) > Number(calcYearKeys[0])) {\n newYear = calcYearKeys[1];\n oldYear = calcYearKeys[0];\n } else {\n newYear = calcYearKeys[0];\n oldYear = calcYearKeys[1];\n }\n // Ex. Selected Year is 2021\n const calcsYou = monthly_calcs[newYear].you;\n const calcsPeers = compareWith === 'Peers' ? monthly_calcs[newYear].avg : null;\n // Ex. 2020\n const calcsYouOldYear = monthly_calcs[oldYear].you;\n const calcsPeersOldYear = compareWith === 'Peers' ? monthly_calcs[oldYear].avg : null;\n // 2020 Full Year\n const previousYearCalcsYou = previousYearCalcs['monthly_full_year'][previousNewFullYear].you;\n const previousYearCalcsPeers = compareWith === 'Peers' ? previousYearCalcs['monthly_full_year'][previousNewFullYear].avg : null;\n // 2019 Full Year\n const previousYearCalcsYouOldYear = previousYearCalcs['monthly_full_year'][previousOldFullYear].you;\n const previousYearCalcsPeersOldYear = compareWith === 'Peers' ? previousYearCalcs['monthly_full_year'][previousOldFullYear].avg : null;\n const cashFlowValues = {}\n const cashFlowValuesPeersAvg = {}\n const cashFlowValuesOldYear = {}\n const cashFlowValuesPeersAvgOldYear = {}\n // Current Year YTD Cash Flow to should match the 'Total' column in Current Year Monthly Cash Flow\n const PreviousMonthMinusCurrentMonthAmount = (opexNi, currentYear, previousYear) => {\n let returnValue = null;\n let numberOfMonths = Object.keys(currentYear).length;\n const returnObject = {}\n for (let i = 1; i <= 12; i++) {\n if (i === 1 && _.isNumber(previousYear[12])) {\n returnObject[i] = previousYear[12] - currentYear[1]\n } else if (_.isNumber(currentYear[i])) {\n returnObject[i] = currentYear[i - 1] - currentYear[i]\n } else {\n returnObject[i] = null;\n }\n }\n returnValue = Object.values(returnObject).reduce((a, b) => a + b);\n return returnValue;\n }\n\n const CurrentMonthMinusPreviousMonthAmount = (opexNi, currentYear, previousYear) => {\n let returnValue = null;\n let numberOfMonths = Object.keys(currentYear).length;\n const returnObject = {}\n for (let i = 1; i <= 12; i++) {\n if (i === 1 && _.isNumber(previousYear[12])) {\n returnObject[i] = currentYear[1] - previousYear[12]\n } else if (_.isNumber(currentYear[i])) {\n returnObject[i] = currentYear[i] - currentYear[i - 1]\n } else {\n returnObject[i] = null;\n }\n }\n returnValue = Object.values(returnObject).reduce((a, b) => a + b);\n return returnValue;\n }\n\n function commonSizeValue(props) {\n let finalValue = null;\n if (Object.values(props.passedCalcs).length > 0) {\n const val = props.value;\n const totalRevenue = Object.values(props.passedCalcs['total_revenue']).reduce((a, b) => a + b, 0)\n finalValue = ((val / totalRevenue) * 100).toFixed(2)\n }\n return finalValue\n }\n\n function emptyRow(i, copy, relatedCheckedKey, checked, displayChart, firstStyle, secondStyle) {\n\n if (copy === 'Current Liabilities') {\n secondStyle['paddingTop'] = '20px'\n }\n let rowChecked = displayChart && checked && props.editMetrics ?

    : ''\n\n return (\n props.editMetrics ? props.handleSelectAndLayout('money', 'cash_flow', relatedCheckedKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n {copy}\n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n )\n };\n\n function Total(props) {\n let finalValue = parseMoney(props.value)\n return (\n {finalValue}\n );\n\n }\n\n function CommonSizeArrowsHelper(props) {\n if (Object.values(props.passedCalcs).length > 0 && props.totalValue !== null && props.totalValueCompare !== null) {\n let arrow;\n const totalRevenueYou = Object.values(calcsYou['total_revenue']).reduce((a, b) => a + b, 0);\n const totalRevenueCompareTo = Object.values(props.passedCalcs['total_revenue']).reduce((a, b) => a + b, 0);\n const you = (props.totalValueYou / totalRevenueYou)\n const compareTo = (props.totalValueCompare / totalRevenueCompareTo)\n arrow = CashFlowCommonSizeArrows(you, compareTo, props.keyArrBuilder)\n\n if (arrow === 'better' || arrow === 'best') {\n arrow =

    \n } else if (arrow === 'worse' || arrow === 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n return ({arrow});\n } else {\n return ();\n }\n }\n\n function Delta(props) {\n let previousYearTotal = props.valuePreviousYear;\n let currentYearTotal = props.valueCurrentYear;\n let deltaValue = '$0';\n\n let delta = currentYearTotal - previousYearTotal;\n deltaValue = parseMoney(delta);\n\n if (previousYearTotal === null || currentYearTotal === null) {\n deltaValue = '-';\n }\n return (\n {deltaValue}\n );\n }\n\n const buildRows = () => {\n let allRows = []\n let borderTopStyle, fontStyle, paddingTopStyle, metricNameStyle, backgroundStyle, firstStyle;\n props.rows.forEach((row, i) => {\n let newerYearVals = YTDCashFlowValues(row.key, calcsYou, previousYearCalcsYou, calcsPeers, previousYearCalcsPeers);\n let newerYearYouVal = newerYearVals['youValue'];\n let newerYearCompareVal = newerYearVals['compareValue'];\n let olderYearVals = YTDCashFlowValues(row.key, calcsYouOldYear, previousYearCalcsYouOldYear, calcsPeersOldYear, previousYearCalcsPeersOldYear);\n let olderYearYouVal = olderYearVals['youValue'];\n let olderYearCompareVal = olderYearVals['compareValue'];\n const emptyRowKeys = ['Cash flow from operating activities:', 'Cash flow from investing activities:', 'Cash flow from financing activities:']\n const borderKeys = ['Net cash flow from operating activities', 'Net cash flow from investing activities', 'Net cash flow from financing activities']\n const paddingTopKeys = ['Cash flow from investing activities:', 'Cash flow from financing activities:', 'Net change in cash and cash equivalents', 'Cash at beginning of period', 'Cash at end of period']\n borderKeys.includes(row.copy) ? borderTopStyle = { borderTop: 'solid 1px', minHeight: '17px', paddingBottom: '17px' } : borderTopStyle = { borderTop: 'none' }\n paddingTopKeys.includes(row.copy) ? paddingTopStyle = { paddingTop: '20px' } : paddingTopStyle = { paddingTop: '3px' }\n row.copy.toLowerCase().includes('cash') ? fontStyle = { textAlign: 'left', fontWeight: 'bold', fontSize: '12px', paddingLeft: 0, minWidth: '224px' } : fontStyle = { textAlign: 'left', fontWeight: 'none', paddingLeft: '18px', minWidth: '224px' }\n backgroundStyle = { backgroundColor: '#BFE0AE' };\n metricNameStyle = { ...fontStyle, ...paddingTopStyle };\n firstStyle = { ...paddingTopStyle, ...backgroundStyle };\n\n let valuePYMonthlyCommonSize = commonSizeValue({ value: olderYearYouVal, passedCalcs: calcsYouOldYear })\n let valuePYPeersMonthlyCommonSize = compareWith === 'Peers' ? commonSizeValue({ value: olderYearCompareVal, passedCalcs: calcsPeersOldYear }) : null;\n let valueCYMonthlyCommonSize = commonSizeValue({ value: newerYearYouVal, passedCalcs: calcsYou })\n let valueCYPeersMonthlyCommonSize = compareWith === 'Peers' ? commonSizeValue({ value: newerYearCompareVal, passedCalcs: calcsPeers }) : null;\n let comparisonPY = valuePYPeersMonthlyCommonSize !== '0.00';\n let comparisonCY = valueCYPeersMonthlyCommonSize !== '0.00';\n let displayRow = row.ytdView;\n if (row.ytdView) {\n if (row.key.includes('title') || row.key.includes('net')) {\n displayRow = true;\n } else {\n displayRow = comparisonPY && comparisonCY;\n }\n }\n\n // first section 2020, last section 2021\n if (emptyRowKeys.includes(row.copy)) {\n allRows.push(emptyRow(i, row.copy, row.checked, row.displayChart, firstStyle, paddingTopStyle))\n } else {\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n allRows.push(\n (\n props.editMetrics ? props.handleSelectAndLayout('money', 'cash_flow', row.relatedCheckedKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n \n {row.copy}\n \n \n \n {valuePYMonthlyCommonSize ? valuePYMonthlyCommonSize + '%' : '-'}\n \n {compareWith === 'Peers'\n ? \n : null}\n {compareWith === 'Peers'\n ? \n {valuePYPeersMonthlyCommonSize ? valuePYPeersMonthlyCommonSize + '%' : '-'}\n \n : null}\n \n \n \n {valueCYMonthlyCommonSize ? valueCYMonthlyCommonSize + '%' : '-'}\n \n {compareWith === 'Peers'\n ? \n : null}\n {compareWith === 'Peers'\n ? \n {valueCYPeersMonthlyCommonSize ? valueCYPeersMonthlyCommonSize + '%' : '-'}\n \n : null}\n \n \n \n )\n )\n }\n });\n return allRows;\n }\n\n\n const buildYTDCashFlow = () => {\n if (props.pdf) {\n let pageViewClass = 'portrait-view'\n return (\n
    \n
    \n
    \n

    {`Cash Flow - ${props.clientName}`}

    \n
    \n \n \n \n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n \n \n {buildRows()}\n \n \n
    {`YTD ${clientFirstYearMonth}/${props.year - 1}`}YouPeers{`YTD ${clientSecondYearMonth}/${props.year}`}YouPeersΔ Delta
    {props.n < 20 ? `n < 20` : `n = ${props.n}`}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n \n \n \n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n \n \n \n {buildRows()}\n \n \n \n \n
    props.handleEditMetrics()}>{props.editMetrics ? : }{`YTD ${clientFirstYearMonth}/${props.year - 1}`}YouPeers{`YTD ${clientSecondYearMonth}/${props.year}`}YouPeersΔ Delta
    n = {props.n ? props.n : 0}
    \n
    \n
    \n )\n }\n }\n\n return buildYTDCashFlow()\n}\n\nexport default MoneyYTDCashFlow;","import React, { useContext } from 'react';\nimport { Data, Filters } from '../contexts';\nimport { objReducer, calculateKFIMetric, KFIsCommonSizeArrows } from '../report_components/MoneyHelpers';\nimport { parseMoney } from '../../utils';\n\nconst MoneyYTDKFI = (props) => {\n const { monthly_calcs, previousYearCalcs } = useContext(Data);\n const { filters } = useContext(Filters);\n const previousYearYTDYouTotalRevenue = monthly_calcs[props.year - 1] ? monthly_calcs[props.year - 1]['you']['total_revenue'] : undefined;\n const currentYearYTDYouTotalRevenue = monthly_calcs[props.year] ? monthly_calcs[props.year]['you']['total_revenue'] : undefined;\n let compareWith = filters.compare_with;\n let firstYearMonth = previousYearYTDYouTotalRevenue ? Object.values(previousYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let secondYearMonth = currentYearYTDYouTotalRevenue ? Object.values(currentYearYTDYouTotalRevenue).filter(value => _.isNumber(value)).length : '';\n let compareFirstYearMonth = firstYearMonth < 10 ? '0' + firstYearMonth.toString() : firstYearMonth;\n let compareSecondYearMonth = secondYearMonth < 10 ? '0' + secondYearMonth.toString() : secondYearMonth;\n\n const formatPercent = (value, key) => {\n if (value || value === 0) {\n return (Math.round(value * 10000) / 100) + '%';\n } else {\n return '-'\n }\n };\n\n const formatRatio = (value) => {\n if (value || value === 0) {\n return `${value.toFixed(1)} to 1`;\n } else {\n return '-'\n }\n };\n\n const formatDays = (value) => {\n if (value || value === 0) {\n return `${value.toFixed(1)} days`;\n } else {\n return '-'\n }\n };\n\n const formatTwoDecimal = (value) => {\n if (value || value === 0) {\n return value.toFixed(2);\n } else {\n return '-'\n }\n };\n\n const rowFormatter = (amount, key) => {\n const ratio = ['quick_ratio', 'debt_ratio', 'operating_cash_flow_kfi', 'current_ratio', 'net_working_capital_ratio', 'debt_to_equity', 'senior_debt_to_ebitda', 'ebitda_to_annual_interest']\n const days = ['days_cash_on_hand', 'ar_days', 'ap_days']\n const money = ['net_working_capital', 'operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization', 'ebitda', 'total_ebitda']\n const twoDecimal = ['asset_turnover_ratio', 'inventory_turnover_ratio']\n const percent = ['total_revenue_growth_rate', 'net_profit', 'cash_flow_margin', 'roa', 'roe', 'roce', 'gross_profit_common_size_revenue', 'operating_profit_common_size_revenue', 'gross_profit', 'operating_profit']\n if (_.isNumber(amount)) {\n if (ratio.includes(key)) {\n return formatRatio(amount)\n } else if (days.includes(key)) {\n return formatDays(amount)\n } else if (money.includes(key)) {\n return parseMoney(amount);\n } else if (twoDecimal.includes(key)) {\n return formatTwoDecimal(amount)\n } else if (percent.includes(key)) {\n return formatPercent(amount, key)\n } else {\n return '-'\n };\n } else {\n return ''\n }\n };\n\n function CommonSizeArrowsHelper(valueYou, valueCompareTo, keyArrBuilder) {\n\n let arrow;\n if (valueYou) {\n arrow = KFIsCommonSizeArrows(valueYou, valueCompareTo, keyArrBuilder)\n if (arrow === 'better' || arrow === 'best') {\n arrow =

    \n } else if (arrow === 'worse' || arrow === 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n return arrow\n }\n return arrow\n }\n\n const buildRows = () => {\n return props.rows.map((row, i) => {\n let paddingLeft = { paddingLeft: row.paddingLeft }\n let paddingTop = row['parentKey'] ? {} : { paddingTop: '20px' }\n let borderBottom = { borderBottom: '2px solid #000000' }\n let titleStyle = row['parentKey'] ? {} : { ...paddingLeft, ...borderBottom }\n let hideRow = '';\n let zeroYears = [];\n const rowValues = {}\n // hide unused rows\n props.yearRange.forEach(year => {\n const yearData = monthly_calcs[year];\n if (!yearData) return;\n \n const youMetric = calculateKFIMetric(row.key, yearData['you'], previousYearCalcs['monthly'][year - 1]['you'], previousYearCalcs['monthly_full_year'][year - 1]['you']);\n const peersMetric = calculateKFIMetric(row.key, yearData['avg'], previousYearCalcs['monthly'][year - 1]['avg'], previousYearCalcs['monthly_full_year'][year - 1]['avg']);\n rowValues[year] = {\n you: youMetric, \n compare: peersMetric\n }\n\n const youKfiMetric = youMetric === '0.00' || youMetric === null;\n const peersKfiMetric = peersMetric === '0.00' || peersMetric === null;\n \n if (youKfiMetric && peersKfiMetric) zeroYears.push(year);\n });\n\n zeroYears.length === props.yearRange.length ? hideRow = row.key : null\n\n if (row.key === 'ebitda') {\n titleStyle = { borderBottom: '1px solid black' }\n paddingTop['paddingTop'] = 0\n } else if (row.key === hideRow) {\n titleStyle = { display: 'none' }\n }\n\n let rowChecked = row.displayChart && row.checked && props.editMetrics ?

    : ''\n\n return (\n props.editMetrics ? props.handleSelectAndLayout('money', 'kfis', row.relatedCheckedKey) : null}>\n {!props.pdf ? {rowChecked} : null}\n {row.padding + row.copy}\n {props.yearRange.map((year, ii) => {\n let arrowCellClass = 'common-size-arrow';\n let backgroundStyle = {}\n let commonSizeValCellClass = 'common-size-cell';\n let valueCellClass = '';\n if (ii % 2 === 0) {\n arrowCellClass += ' money-table-cell';\n backgroundStyle['backgroundColor'] = '#BFE0AE';\n commonSizeValCellClass += ' money-table-cell';\n valueCellClass = 'money-table-cell';\n }\n try {\n if (row['parentKey'] !== 'parent') {\n let arrowColumn = ''\n let youValue, avgValue;\n youValue = rowValues[year]['you']\n if (compareWith === 'Peers') {\n avgValue = monthly_calcs[year] ? rowValues[year]['compare'] : undefined;\n arrowColumn = CommonSizeArrowsHelper(youValue, avgValue, row.key)\n }\n\n return (\n \n \n {rowFormatter(youValue, row.key)}\n \n {compareWith === 'Peers'\n ? \n {arrowColumn}\n \n : null}\n {compareWith === 'Peers'\n ? \n {rowFormatter(avgValue, row.key)}\n \n : null}\n \n \n )\n } else {\n return (\n \n \n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? : null}\n \n \n )\n }\n } catch { return ; }\n })}\n \n )\n })\n };\n\n const renderYearHeaderColumns = () => {\n return (\n \n \n {!props.pdf ? props.handleEditMetrics()}>{props.editMetrics ? : } : null}\n \n {`YTD ${compareFirstYearMonth}/${props.year - 1}`}\n \n {`YTD ${compareSecondYearMonth}/${props.year}`}\n \n \n {!props.pdf ? : null}\n \n You\n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? Peers : null}\n \n You\n {compareWith === 'Peers' ? : null}\n {compareWith === 'Peers' ? Peers : null}\n \n \n )\n }\n\n const buildYTDKFI = () => {\n if (props.pdf) {\n let pageViewClass = 'portrait-view'\n // let pageViewClass = 'landscape-view'\n return (\n
    \n
    \n
    \n

    {`Key Financial Indicators - ${props.clientName}`}

    \n
    \n \n {renderYearHeaderColumns()}\n \n {buildRows()}\n \n \n
    {props.n < 20 ? `n < 20` : `n = ${props.n}`}
    \n
    \n
    \n

    {`These financial statements have been prepared by ${props.firmName}, and have not been subjected to an audit or review or compilation engagement, and no assurance is provided on them. These financial statements are intended for management’s internal use only. Substantially all disclosures omitted.`}

    \n
    \n
    \n )\n } else {\n return (\n
    \n
    \n \n {renderYearHeaderColumns()}\n \n {buildRows()}\n \n \n \n \n
    n = {props.n ? props.n : 0}
    \n
    \n
    \n )\n }\n }\n\n return buildYTDKFI()\n};\n\nexport default MoneyYTDKFI;","import React from 'react'\nimport { CommonSizeArrows } from '../report_components/MoneyHelpers'\nimport { sumTrailing12MonthsValues } from '../monthly/monthy_analysis_table_trailing12_calculations';\n\nfunction monthlyCommonSized(object, passedCalcs) {\n const reducedArray = object ? Object.values(object).reduce((a,b) => a + b, 0) : 0\n const totalRevenue = Object.values(passedCalcs['total_revenue']).reduce((a,b) => a + b, 0)\n if (totalRevenue !== 0) {\n return (reducedArray / totalRevenue)*100\n } else {\n return undefined\n }\n}\n\nfunction commonSizeArrowsHelper(dataCalcs, propsYou, propsComparedTo, passedCalcs, keyArrBuilder, displayColumnsBy) {\n let arrow\n\n if (displayColumnsBy === 'Months') {\n const totalRevenueYou = Object.values(dataCalcs['total_revenue']).reduce((a,b) => a + b, 0)\n const totalRevenueComparedTo = Object.values(passedCalcs['total_revenue']).reduce((a,b) => a + b, 0)\n if (totalRevenueYou !== 0 && totalRevenueComparedTo !== 0) {\n const reducedArrayYou = Object.values(propsYou).reduce((a,b) => a + b, 0)\n const reducedArrayComparedTo = propsComparedTo ? Object.values(propsComparedTo).reduce((a,b) => a + b, 0) : 0\n\n const you = (reducedArrayYou / totalRevenueYou)*100\n const compareTo = (reducedArrayComparedTo / totalRevenueComparedTo)*100\n arrow = CommonSizeArrows(you, compareTo, keyArrBuilder)\n } else {\n return arrow = ''\n }\n } else {\n arrow = CommonSizeArrows(propsYou, propsComparedTo, keyArrBuilder)\n }\n if (arrow === 'better' || arrow === 'best') {\n arrow =

    \n } else if (arrow === 'worse' || arrow === 'worst') {\n arrow =

    \n } else {\n arrow = ''\n }\n\n return arrow;\n}\n\nfunction reduceYTD ( dataCalcs, year, who, key, commonSize = false) {\n let answer = dataCalcs[year][who][key] ? Object.values(dataCalcs[year][who][key]).reduce((a,b) => a + b, 0) : undefined\n let totalRevenue = dataCalcs[year][who]['total_revenue'] ? Object.values(dataCalcs[year][who]['total_revenue']).reduce((a,b) => a + b, 0) : undefined\n\n answer && commonSize && totalRevenue ? answer = (answer / totalRevenue) * 100 : answer\n\n return answer;\n}\n\n\n// this is the year to date array builder section YTD and monthly\n// ytd calcs come like this: 2020: {you: {roa: {1: 1.1270120245297484, 2: null}, 2019: {you: {roa: {1: 1.1270120245297484, 2: null},\n// for ytd filter we want the trailing twelve for the last month available\n// year to date only ever compares with peers, there is no YOY filter, because it already is YOY\n// if we're displaying years 2019 and 2020, we'll need full years back to 2017\n// 2020/2019/2018\n// 2019/2018/2017\n// previousYearCalc.monthly['2019']\n\nconst peopleCustomersT12Metrics = (peopleOrCustomers, metricName, currentYear, previousYear, twoYearsBack) => {\n const months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']\n let returnObj = {};\n currentYear = currentYear || {}\n previousYear = previousYear || {}\n twoYearsBack = twoYearsBack || {}\n\n switch (metricName) {\n // People methods for report summary\n case 'total_revenue_per_employee':\n case 'revenue_per_customer':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['total_revenue'], 'numClientsEmpl')\n break;\n case 'operating_expenses_net_income_per_employee':\n case 'operating_expenses_net_income_per_customer':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['operating_expenses_net_income'], 'numClientsEmpl')\n break;\n case 'turnover_rate':\n case 'total_revenue':\n case 'gross_profit':\n case 'total_number_of_customers':\n case 'total_number_of_employees':\n case 'operating_expenses_net_income':\n returnObj[metricName] = currentYear.hasOwnProperty(metricName) ? currentYear[metricName] : undefined\n break;\n case 'sum_compensation_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['sum_compensation'], 'numClientsEmpl')\n break;\n case 'sum_taxes_and_benefits_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['sum_taxes_and_benefits'], 'numClientsEmpl')\n break;\n case 'sum_payroll_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['sum_payroll'], 'numClientsEmpl')\n break;\n case 'sum_health_insurance_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['sum_health_insurance'], 'numClientsEmpl')\n break;\n case 'sum_retirement_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['sum_retirement'], 'numClientsEmpl')\n break;\n case 'training_per_employee':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['training'], 'numClientsEmpl')\n break;\n case 'number_of_employees_who_left':\n returnObj[metricName] = numberEmployeesWhoLeft(months, currentYear)\n break;\n case 'cost_of_turnover':\n break; \n\n // People methods for KPIs\n case 'sum_compensation_growth_rate':\n case 'sum_taxes_and_benefits_growth_rate':\n case 'sum_subcontractors_growth_rate':\n returnObj[metricName] = pcGrowthRate(months, currentYear, previousYear, twoYearsBack, metricName)\n break;\n case 'average_wages_and_salaries':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['labor_cogs_compensation', 'labor_cogs_taxes_and_benefits', 'total_compensation', 'total_taxes_and_benefits'], 'numClientsEmpl')\n break;\n case 'average_benefits':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['labor_cogs_taxes_and_benefits', 'total_taxes_and_benefits'], 'numClientsEmpl')\n break;\n\n // Customers methods for report summary\n case 'gross_profit_per_customer':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['gross_profit'], 'numClientsEmpl')\n break;\n case 'customer_roi':\n returnObj[metricName] = pcCustomerROI(months, currentYear, previousYear, twoYearsBack)\n break;\n case 'total_customer_costs_common_size_revenue':\n returnObj[metricName] = pcNumeratorArDividedByDenominator(months, peopleOrCustomers, currentYear, previousYear, ['total_customer_costs'], 'total_revenue') \n break;\n case 'number_of_new_customers_needed_to_maintain_growth':\n returnObj[metricName] = pcNumberCustomersNeededMaintainGrowth(months, currentYear, previousYear, twoYearsBack)\n break;\n \n default:\n returnObj[metricName] = undefined\n break;\n }\n return returnObj\n}\n\nconst numberEmployeesWhoLeft = (months, currentYear) => {\n let turnoverRate = currentYear.hasOwnProperty('turnover_rate') ? currentYear['turnover_rate'] : {}\n let numberEmployees = currentYear.hasOwnProperty('total_number_of_employees') ? currentYear['total_number_of_employees'] : {}\n let returnObj = {};\n\n if (turnoverRate && numberEmployees) {\n months.forEach((m, i) => {\n returnObj[i+1] = turnoverRate[i+1] * numberEmployees[i+1]\n })\n } else returnObj = undefined\n\n return returnObj\n}\n\nconst pcNumberCustomersNeededMaintainGrowth = (months, currentYear, previousYear, twoYearsBack) => {\n let sumT12TotalRev = currentYear.hasOwnProperty('total_revenue') && previousYear.hasOwnProperty('total_revenue') ? sumTrailing12MonthsValues(currentYear, previousYear, 'total_revenue') : {}\n let totRevGrowthRateT12 = pcGrowthRate(months, currentYear, previousYear, twoYearsBack, 'total_revenue')\n let revPerT12 = pcNumeratorArDividedByDenominator(months, 'customers', currentYear, previousYear, ['total_revenue'], 'numClientsEmpl')\n let returnObj = {};\n\n if (sumT12TotalRev && totRevGrowthRateT12 && revPerT12) {\n months.forEach((m, i) => {\n returnObj[i+1] = (sumT12TotalRev[i+1] * totRevGrowthRateT12[i+1]) / revPerT12[i+1]\n })\n return returnObj\n } else returnObj = undefined\n\n return returnObj\n // (total_revenue * total_revenue_growth_rate) / revenue_per_customer\n}\n\n\nconst pcCustomerROI = (months, currentYear, previousYear, twoYearsBack) => {\n let sumT12TotalRev = currentYear.hasOwnProperty('total_revenue') && previousYear.hasOwnProperty('total_revenue') ? sumTrailing12MonthsValues(currentYear, previousYear, 'total_revenue') : {}\n let sumT12TotalRevPreviousDecember = previousYear.hasOwnProperty('total_revenue') && twoYearsBack.hasOwnProperty('total_revenue') ? sumTrailing12MonthsValues(previousYear, twoYearsBack, 'total_revenue') : {}\n let sumT12TotCusCosts = currentYear.hasOwnProperty('total_customer_costs') && previousYear.hasOwnProperty('total_customer_costs') ? sumTrailing12MonthsValues(currentYear, previousYear, 'total_customer_costs') : {}\n let returnObj = {};\n\n if (sumT12TotalRev && sumT12TotCusCosts) {\n months.forEach((month,i) => {\n if (i === 0) {\n returnObj[i+1] = ((sumT12TotalRev[1] - sumT12TotalRevPreviousDecember[12]) - (sumT12TotCusCosts[1])) / sumT12TotCusCosts[1]\n } else {\n returnObj[i+1] = ((sumT12TotalRev[i+1] - sumT12TotalRev[i]) - (sumT12TotCusCosts[i+1])) / sumT12TotCusCosts[i+1]\n }\n })\n return returnObj\n } else returnObj = undefined\n\n return returnObj\n}\n\n\nconst pcGrowthRate = (months, currentYear, previousYear, twoYearsBack, metricName) => {\n let returnObj = {};\n let metricString = ''\n \n switch (metricName) {\n case 'sum_compensation_growth_rate':\n metricString = 'sum_compensation'\n break;\n case 'sum_taxes_and_benefits_growth_rate':\n metricString = 'sum_taxes_and_benefits'\n break; \n case 'sum_subcontractors_growth_rate':\n metricString = 'sum_subcontractors'\n break;\n default:\n metricString = metricName\n break;\n }\n \n let numeratorDenominatorSumT12 = currentYear.hasOwnProperty(metricString) && previousYear.hasOwnProperty(metricString) ? sumTrailing12MonthsValues(currentYear, previousYear, metricString) : {}\n let forJanDenominatorSumT12 = previousYear.hasOwnProperty(metricString) && twoYearsBack.hasOwnProperty(metricString) ? sumTrailing12MonthsValues(previousYear, twoYearsBack, metricString) : {}\n\n if (numeratorDenominatorSumT12) {\n\n months.forEach((month, i) => {\n let monthNumber = i+1\n \n if (monthNumber === 1) {\n returnObj[i+1] = (numeratorDenominatorSumT12[1] / forJanDenominatorSumT12[12]) -1 \n } else {\n returnObj[i+1] = (numeratorDenominatorSumT12[monthNumber] / numeratorDenominatorSumT12[monthNumber-1]) -1 \n }\n })\n return returnObj\n } else returnObj = undefined\n \n return returnObj\n}\n\n\nconst pcNumeratorArDividedByDenominator = (months, peopleOrCustomers, currentYear, previousYear, numeratorAr, denominator) => {\n let numeratorSumT12 = {};\n let denominatorSumT12;\n let returnObj = {};\n\n months.forEach((month, i) => numeratorSumT12[i+1] = 0)\n numeratorAr.forEach(metric => {\n let metricLoop = currentYear.hasOwnProperty(metric) && previousYear.hasOwnProperty(metric) ? sumTrailing12MonthsValues(currentYear, previousYear, metric) : 0\n if (metricLoop) {\n Object.values(metricLoop).forEach((v,i) => {\n numeratorSumT12[i+1] += v\n })\n }\n })\n \n if (denominator === 'numClientsEmpl' && peopleOrCustomers === 'people') {\n denominatorSumT12 = currentYear.hasOwnProperty('total_number_of_employees') ? currentYear['total_number_of_employees'] : 0 \n } else if (denominator == 'numClientsEmpl' && peopleOrCustomers == 'customers') {\n denominatorSumT12 = currentYear.hasOwnProperty('total_number_of_customers') ? currentYear['total_number_of_customers'] : 0\n } else {\n denominatorSumT12 = currentYear.hasOwnProperty(denominator) && previousYear.hasOwnProperty(denominator) ? sumTrailing12MonthsValues(currentYear, previousYear, denominator) : 0\n }\n\n months.forEach((month, i) => {\n returnObj[i+1] = denominatorSumT12[i+1] ? numeratorSumT12[i+1] / denominatorSumT12[i+1] : 0\n })\n\n return returnObj\n}\n\nconst peersAnalysisPerCustomerVals = (key, year, vals) => {\n let finalValue = null\n let firstPartKey = key.substring(0, key.length - 13)\n if (key === 'revenue_per_customer') {\n finalValue = vals['total_revenue'][year] / vals['total_number_of_customers'][year]\n } else if (key.includes('_per_customer')) {\n let totalVal = vals[firstPartKey + '_common_size_revenue'][year] * vals['total_revenue'][year]\n finalValue = totalVal / vals['total_number_of_customers'][year]\n } else {\n finalValue = vals[key + '_common_size_revenue'][year] * vals['total_revenue'][year]\n }\n return finalValue\n}\n\nexport { monthlyCommonSized, commonSizeArrowsHelper, reduceYTD, peopleCustomersT12Metrics, peersAnalysisPerCustomerVals }","import { parseMoney } from \"../../utils\";\nimport { CommonSizeArrows, MonthlyPNLandBalValues, MonthlyPNLandBalCommonSized, YTDPnlandBalCommonSizeValue, AnnualCashFlowValues, MonthlyCashFlowValues, AnnualKFIsValues, calculateKFIMetric, YTDPnlandBalValues, YTDCashFlowValues, MonthlyKFIsValues, KFIsCommonSizeArrows, CashFlowCommonSizeArrows } from './MoneyHelpers';\nimport { trailing12MonthCalculations } from \"../monthly/monthy_analysis_table_trailing12_calculations\";\nimport { peopleCustomersT12Metrics, peersAnalysisPerCustomerVals } from \"./PeopleCustomersHelpers\";\nconst moneyText = {\n 'total_revenue': {\n copy: 'Revenue Growth Rate',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You grew ${deltaValue} slower than your ${compareWord}.`,\n text2: `Your Revenue Growth is ${impactValue} less than your ${compareWord}.`,\n textNotesSection: `Your Revenue Growth is ${impactValue} less than your ${compareWord}. Consider steps to keep pace with your ${compareWord}`,\n },\n worse: {\n text1: `You grew ${deltaValue} slower than your ${compareWord}.`,\n text2: `Your Revenue Growth is ${impactValue} less than your ${compareWord}.`,\n textNotesSection: `Your Revenue Growth is ${impactValue} less than your ${compareWord}. Consider steps to keep pace with your ${compareWord}.`\n },\n maintain: {\n text1: `You are ${deltaValue} different than your ${compareWord}.`,\n text2: `Your Revenue Growth is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Revenue Growth is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `You grew ${deltaValue} faster than your ${compareWord}.`,\n text2: `Your Revenue Growth is ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `Your Revenue Growth is ${impactValue} more than your ${compareWord}. Maintain progress, but identify factors fueling growth and assess overall (1) sustainability, (2) long-term impact on operations and (3) potential opportunity costs`\n },\n best: {\n text1: `You grew ${deltaValue} faster than your ${compareWord}.`,\n text2: `Your Revenue Growth is ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `Your Revenue Growth is ${impactValue} more than your ${compareWord}. Maintain progress, but identify factors fueling growth and assess overall (1) sustainability, (2) long-term impact on operations and (3) potential opportunity costs`\n }\n }\n return statusTexts[status]\n }\n },\n 'labor_costs': {\n copy: 'COGS-Labor',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Labor expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Labor is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Labor is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your COGS-Labor expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Labor is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Labor is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your COGS-Labor expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Labor is within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS-Labor is within the average range of your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your COGS-Labor expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Labor is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Labor is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your COGS-Labor expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Labor is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Labor is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'cogs_subcontractors': {\n copy: 'COGS-Subcontractors',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Subcontractors expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Subcontractors is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Subcontractors is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your COGS-Subcontractors expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Subcontractors is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Subcontractors is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your COGS-Subcontractors expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Subcontractors is within the average range of your ${compareWord}. Maintain Progress.`,\n textNotesSection: `Your COGS-Subcontractors is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your COGS-Subcontractors expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Subcontractors is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Subcontractors is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your COGS-Subcontractors expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Subcontractors is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Subcontractors is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'materials_costs': {\n copy: 'COGS-Materials',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Materials expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Materials is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Materials is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Materials-related elements including pricing, purchasing, scrap, and/or shrinkage.`\n },\n worse: {\n text1: `Your COGS-Materials expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Materials is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Materials is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Materials-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your COGS-Materials expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Materials is within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS-Materials is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your COGS-Materials expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Materials is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Materials is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Materials-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your COGS-Materials expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Materials is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Materials is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Materials-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'overhead': {\n copy: 'COGS-Overhead',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Overhead expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Overhead is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Overhead is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Overhead expenses or allocations and reduce, if possible.`\n },\n worse: {\n text1: `Your COGS-Overhead expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Overhead is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Overhead is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Overhead expenses or allocations and reduce, if possible.`\n },\n maintain: {\n text1: `Your COGS-Overhead expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Overhead is within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS-Overhead is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your COGS-Overhead expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Overhead is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Overhead is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`\n },\n best: {\n text1: `Your COGS-Overhead expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Overhead is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Overhead is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'transportation': {\n copy: 'COGS-Transportation',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Transportation expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Transportation is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Transportation is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Transportation expenses and reduce, if possible.`\n },\n worse: {\n text1: `Your COGS-Transportation expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Transportation is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Transportation is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Transportation expenses and reduce, if possible.`\n },\n maintain: {\n text1: `Your COGS-Transportation expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Transportation is within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS-Transportation is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your COGS-Transportation expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Transportation is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Transportation is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`\n },\n best: {\n text1: `Your COGS-Transportation expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Transportation is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Transportation is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'other_costs': {\n copy: 'COGS-Other',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your COGS-Other expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Other is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your COGS-Other is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Other expenses and reduce, if possible.`\n },\n worse: {\n text1: `Your COGS-Other expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your COGS-Other is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your COGS-Other is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Other expenses and reduce, if possible.`\n },\n maintain: {\n text1: `Your COGS-Other expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS-Other is within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS-Other is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your COGS-Other expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Other is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your COGS-Other is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`\n },\n best: {\n text1: `Your COGS-Other expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your COGS-Other is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your COGS-Other is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_costs': {\n copy: 'Total COGS',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Total COGS expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Total COGS is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Total COGS is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Total COGS-related elements including pricing, purchasing, scrap, and/or shrinkage.`\n },\n worse: {\n text1: `Your Total COGS expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Total COGS is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Total COGS is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Total COGS-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Total COGS expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your COGS are within the average range of your ${compareWord}.`,\n textNotesSection: `Your COGS are within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Total COGS expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Total COGS is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Total COGS is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Total COGS-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Total COGS expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Total COGS is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Total COGS is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Total COGS-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'gross_profit': {\n copy: 'Gross Profit',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Gross Profit was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Gross Profit is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Gross Profit is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n worse: {\n text1: `Your Gross Profit was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Gross Profit is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage.`,\n textNotesSection: `Your Gross Profit is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n maintain: {\n text1: `Your Gross Profit was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Gross Profit is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Gross Profit is within the average range of your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Gross Profit was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Gross Profit is ${impactValue} more than your ${compareWord}, potentially a competitive advantage.`,\n textNotesSection: `Your Gross Profit is ${impactValue} more than your ${compareWord}, potentially a competitive advantage. Maintain progress.`\n },\n best: {\n text1: `Your Gross Profit was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Gross Profit is ${impactValue} more than your ${compareWord}, potentially a significant competitive advantage.`,\n textNotesSection: `Your Gross Profit is ${impactValue} more than your ${compareWord}, potentially a significant competitive advantage. Maintain progress.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_compensation': {\n copy: 'Compensation',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Compensation expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Compensation is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Compensation is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Compensation expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Compensation is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Compensation is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Compensation expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Compensation is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Compensation is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Compensation expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Compensation is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Compensation is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Compensation expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Compensation is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Compensation is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_taxes_and_benefits': {\n copy: 'Taxes & Benefits',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Taxes & Benefits expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Taxes & Benefits is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Taxes & Benefits is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Taxes & Benefits expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Taxes & Benefits is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Taxes & Benefits is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Taxes & Benefits expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Taxes & Benefits is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Taxes & Benefits is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Taxes & Benefits expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Taxes & Benefits is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Taxes & Benefits is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Taxes & Benefits expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Taxes & Benefits is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Taxes & Benefits is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_corporate_culture': {\n copy: 'Corporate Culture',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Corporate Culture expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Corporate Culture is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Corporate Culture is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Corporate Culture expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Corporate Culture is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Corporate Culture is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Corporate Culture expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Corporate Culture is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Corporate Culture is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Corporate Culture expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Corporate Culture is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Corporate Culture is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Corporate Culture expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Corporate Culture is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Corporate Culture is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'subcontractor_expenses': {\n copy: 'Subcontractor Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ` Your Subcontractor Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Subcontractor Expense is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Subcontractor Expense is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: ` Your Subcontractor Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Subcontractor Expense is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Subcontractor Expense is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: ` Your Subcontractor Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Subcontractor Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Subcontractor Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: ` Your Subcontractor Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Subcontractor Expense is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Subcontractor Expense is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: ` Your Subcontractor Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Subcontractor Expense is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Subcontractor Expense is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'people_misc_professional_fees': {\n copy: 'Professional Fees-HR',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Professional Fees-HR expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees-HR is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Professional Fees-HR is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Professional Fees-HR expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees-HR is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Professional Fees-HR is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Labor-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Professional Fees-HR expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Professional Fees-HR is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Professional Fees-HR is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Professional Fees-HR expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees-HR is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Professional Fees-HR is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Professional Fees-HR expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees-HR is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Professional Fees-HR is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Labor-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_customer_costs_sales_& marketing': {\n copy: 'Sales & Marketing',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Sales & Marketing expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Sales & Marketing is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Sales & Marketing is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Sales & Marketing-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Sales & Marketing expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Sales & Marketing is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Sales & Marketing is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Sales & Marketing-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Sales & Marketing expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Sales & Marketing is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Sales & Marketing is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Sales & Marketing expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Sales & Marketing is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Sales & Marketing is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Sales & Marketing-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Sales & Marketing expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Sales & Marketing is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Sales & Marketing is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. However, lower Sales & Marketing expense for a long period could jeopardize future growth.`\n },\n }\n return statusTexts[status]\n }\n },\n 'travel_entertainment_and_meals': {\n copy: 'Travel, Entertainment & Meals',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Travel, Entertainment & Meals expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Travel, Entertainment & Meals is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Travel, Entertainment & Meals is ${impactValue} more than your ${compareWord} average, potentially a significant competitive disadvantage. Review all Travel, Entertainment & Meals-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Travel, Entertainment & Meals expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Travel, Entertainment & Meals is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage.`,\n textNotesSection: `Your Travel, Entertainment & Meals is ${impactValue} more than your ${compareWord} average, potentially a competitive disadvantage. Review all Travel, Entertainment & Meals-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Travel, Entertainment & Meals expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Travel, Entertainment & Meals is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Travel, Entertainment & Meals is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Travel, Entertainment & Meals expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Travel, Entertainment & Meals is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage.`,\n textNotesSection: `Your Travel, Entertainment & Meals is ${impactValue} less than your ${compareWord} average, potentially a competitive advantage. Review all Travel, Entertainment & Meals-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Travel, Entertainment & Meals expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Travel, Entertainment & Meals is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage.`,\n textNotesSection: `Your Travel, Entertainment & Meals is ${impactValue} less than your ${compareWord} average, potentially a significant competitive advantage. Review all Travel, Entertainment & Meals-related costs to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_customer_costs_billings_& collections': {\n copy: 'Billing & Collections',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Billing & Collections expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Billing & Collections is ${impactValue} more than your ${compareWord} average. `,\n textNotesSection: `Your Billing & Collections is ${impactValue} more than your ${compareWord} average. `\n },\n worse: {\n text1: `Your Billing & Collections expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Billing & Collectionss is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Billing & Collectionss is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Billing & Collections expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Billing & Collections is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Billing & Collections is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Billing & Collections expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Billing & Collections is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Billing & Collections is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Billing & Collections expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Billing & Collections is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Billing & Collections is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'customers_misc_professional_fees': {\n copy: 'Professional Fees-Customers',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Professional Fees-Customers expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees-Customers is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees-Customers is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Professional Fees-Customers expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees-Customers is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees-Customers is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Professional Fees-Customers expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Professional Fees-Customers is within the average range of your ${compareWord}. Maintain Progress.`,\n textNotesSection: `Your Professional Fees-Customers is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Professional Fees-Customers expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees-Customers is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees-Customers is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Professional Fees-Customers expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees-Customers is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees-Customers is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'automobile_expenses': {\n copy: 'Automobile Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Automobile Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Automobile Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Automobile Expense is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Automobile Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Automobile Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Automobile Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Automobile Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Automobile Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Automobile Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Automobile Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Automobile Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Automobile Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Automobile Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Automobile Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Automobile Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'bad_debt_expenses': {\n copy: 'Bad Debt Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Bad Debt Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Bad Debt Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Bad Debt Expense is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Bad Debt Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Bad Debt Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Bad Debt Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Bad Debt Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Bad Debt Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Bad Debt Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Bad Debt Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Bad Debt Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Bad Debt Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Bad Debt Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Bad Debt Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Bad Debt Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'computer_related_costs': {\n copy: 'Computer Related Costs',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Computer Related Costs expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Computer Related Costs is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Computer Related Costs is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Computer Related Costs expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Computer Related Costs is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Computer Related Costs is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Computer Related Costs expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Computer Related Costs is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Computer Related Costs is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Computer Related Costs expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Computer Related Costs is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Computer Related Costs is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Computer Related Costs expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Computer Related Costs is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Computer Related Costs is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'contributions_and_donations': {\n copy: 'Contributions & Donations',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Contributions & Donations expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Contributions & Donations is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Contributions & Donations is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Contributions & Donations expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Contributions & Donations is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Contributions & Donations is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Contributions & Donations expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Contributions & Donations is within the average range of your ${compareWord}. Maintain Progress.`,\n textNotesSection: `Your Contributions & Donations is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Contributions & Donations expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Contributions & Donations is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Contributions & Donations is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Contributions & Donations expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Contributions & Donations is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Contributions & Donations is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'insurance_expenses': {\n copy: 'Insurance Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Insurance Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Insurance Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Insurance Expense is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Insurance Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Insurance Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Insurance Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Insurance Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Insurance Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Insurance Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Insurance Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Insurance Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Insurance Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Insurance Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Insurance Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Insurance Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'office_communications': {\n copy: 'Office Communications',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Office Communications expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Office Communications is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Office Communications is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Office Communications expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Office Communications is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Office Communications is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Office Communications expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Office Communications is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Office Communications is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Office Communications expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Office Communications is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Office Communications is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Office Communications expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Office Communications is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Office Communications is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'office_expenses': {\n copy: 'Office Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Office Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Office Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Office Expense is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Office Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Office Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Office Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Office Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Office Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Office Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Office Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Office Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Office Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Office Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Office Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Office Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'other_operating_expenses': {\n copy: 'Other Operating Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Other Operating Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Operating Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Other Operating Expense is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Other Operating Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Operating Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Other Operating Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Other Operating Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Other Operating Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Other Operating Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Other Operating Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Operating Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Other Operating Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Other Operating Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Operating Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Other Operating Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_professional_fees': {\n copy: 'Professional Fees - Acct/IT/Legal/Other',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Professional Fees - Acct/IT/Legal/Other expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Professional Fees - Acct/IT/Legal/Other expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Professional Fees - Acct/IT/Legal/Other expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Professional Fees - Acct/IT/Legal/Other is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Professional Fees - Acct/IT/Legal/Other is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Professional Fees - Acct/IT/Legal/Other expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Professional Fees - Acct/IT/Legal/Other expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Professional Fees - Acct/IT/Legal/Other is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'rent_and_facilities_costs': {\n copy: 'Rent & Facilities',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Rent & Facilities expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Rent & Facilities is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Rent & Facilities is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Rent & Facilities expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Rent & Facilities is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Rent & Facilities is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Rent & Facilities expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Rent & Facilities is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Rent & Facilities is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Rent & Facilities expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Rent & Facilities is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Rent & Facilities is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Rent & Facilities expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Rent & Facilities is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Rent & Facilities is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'laboratory_fees': {\n copy: 'Laboratory Fees',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Laboratory Fees expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Laboratory Fees is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Laboratory Fees is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Laboratory Fees expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Laboratory Fees is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Laboratory Fees is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Laboratory Fees expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Laboratory Fees is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Laboratory Fees is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Laboratory Fees expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Laboratory Fees is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Laboratory Fees is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Laboratory Fees expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Laboratory Fees is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Laboratory Fees is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'dental_supplies': {\n copy: 'Dental/Medical Supplies',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Dental/Medical Supplies expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Dental/Medical Supplies is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Dental/Medical Supplies is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Dental/Medical Supplies expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Dental/Medical Supplies is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Dental/Medical Supplies is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Dental/Medical Supplies expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Dental/Medical Supplies is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Dental/Medical Supplies is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Dental/Medical Supplies expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Dental/Medical Supplies is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Dental/Medical Supplies is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Dental/Medical Supplies expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Dental/Medical Supplies is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Dental/Medical Supplies is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_operating_expenses': {\n copy: 'Total Operating Expenses',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Total Operating Expenses was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Total Operating Expenses is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Total Operating Expenses is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Total Operating Expenses was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Total Operating Expenses is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Total Operating Expenses is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Total Operating Expenses was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Total Operating Expenses is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Total Operating Expenses is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Total Operating Expenses was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Total Operating Expenses is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Total Operating Expenses is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Total Operating Expenses was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Total Operating Expenses is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Total Operating Expenses is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'operating_profit': {\n copy: 'Operating Profit',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Operating Profit was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Operating Profit is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage.`,\n textNotesSection: `Your Operating Profit is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n worse: {\n text1: `Your Operating Profit was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Operating Profit is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage.`,\n textNotesSection: `Your Operating Profit is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n maintain: {\n text1: `Your Operating Profit was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Operating Profit is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Operating Profit is within the average range of your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Operating Profit was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Operating Profit is $7,733,583 more than your ${compareWord}, potentially a competitive advantage.`,\n textNotesSection: `Your Operating Profit is $7,733,583 more than your ${compareWord}, potentially a competitive advantage. Maintain progress.`\n },\n best: {\n text1: `Your Operating Profit was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Operating Profit is $7,733,583 more than your ${compareWord}, potentially a significant competitive advantage.`,\n textNotesSection: `Your Operating Profit is $7,733,583 more than your ${compareWord}, potentially a significant competitive advantage. Maintain progress.`\n },\n }\n return statusTexts[status]\n }\n },\n 'interest_and_other_expenses': {\n copy: 'Interest & Other Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Interest & Other Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Interest & Other Expense is ${impactValue} more than your ${compareWord} average. `,\n textNotesSection: `Your Interest & Other Expense is ${impactValue} more than your ${compareWord} average. `\n },\n worse: {\n text1: `Your Interest & Other Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Interest & Other Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Interest & Other Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Interest & Other Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Interest & Other Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Interest & Other Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Interest & Other Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Interest & Other Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Interest & Other Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Interest & Other Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Interest & Other Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Interest & Other Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_other_costs_taxes_- federal & state': {\n copy: 'Taxes - Federal & State',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Taxes - Federal & State expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Taxes - Federal & State is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Taxes - Federal & State is ${impactValue} more than your ${compareWord} average.`\n },\n worse: {\n text1: `Your Taxes - Federal & State expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Taxes - Federal & State is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Taxes - Federal & State is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Taxes - Federal & State expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Taxes - Federal & State is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Taxes - Federal & State is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Taxes - Federal & State expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Taxes - Federal & State is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Taxes - Federal & State is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Taxes - Federal & State expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Taxes - Federal & State is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Taxes - Federal & State is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'depreciation_and_amortization': {\n copy: 'Depreciation & Amortization',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Depreciation & Amortization expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Depreciation & Amortization is ${impactValue} more than your ${compareWord} average. `,\n textNotesSection: `Your Depreciation & Amortization is ${impactValue} more than your ${compareWord} average. `\n },\n worse: {\n text1: `Your Depreciation & Amortization expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Depreciation & Amortization is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Depreciation & Amortization is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Depreciation & Amortization expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Depreciation & Amortization is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Depreciation & Amortization is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Depreciation & Amortization expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Depreciation & Amortization is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Depreciation & Amortization is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Depreciation & Amortization expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Depreciation & Amortization is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Depreciation & Amortization is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'other_income_expenses': {\n copy: 'Other (Income) Expense',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Other (Income) Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other (Income) Expense is ${impactValue} more than your ${compareWord} average. `,\n textNotesSection: `Your Other (Income) Expense is ${impactValue} more than your ${compareWord} average. `\n },\n worse: {\n text1: `Your Other (Income) Expense was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other (Income) Expense is ${impactValue} more than your ${compareWord} average.`,\n textNotesSection: `Your Other (Income) Expense is ${impactValue} more than your ${compareWord} average.`\n },\n maintain: {\n text1: `Your Other (Income) Expense was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Other (Income) Expense is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Other (Income) Expense is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Other (Income) Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other (Income) Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Other (Income) Expense is ${impactValue} less than your ${compareWord} average.`\n },\n best: {\n text1: `Your Other (Income) Expense was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other (Income) Expense is ${impactValue} less than your ${compareWord} average.`,\n textNotesSection: `Your Other (Income) Expense is ${impactValue} less than your ${compareWord} average.`\n },\n }\n return statusTexts[status]\n }\n },\n 'operating_expenses_net_income': {\n copy: 'Net Income',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Net Income was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Net Income is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`,\n textNotesSection: `Your Net Income is ${impactValue} less than your ${compareWord}, potentially a significant competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n worse: {\n text1: `Your Net Income was ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Net Income is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage.`,\n textNotesSection: `Your Net Income is ${impactValue} less than your ${compareWord}, potentially a competitive disadvantage. Consider steps to keep pace with your ${compareWord}.`\n },\n maintain: {\n text1: `Your Net Income was ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Net Income is within the average range of your ${compareWord}.`,\n textNotesSection: `Your Net Income is within the average range of your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Net Income was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Net Income is ${impactValue} more than your ${compareWord}, potentially a competitive advantage.`,\n textNotesSection: `Your Net Income is ${impactValue} more than your ${compareWord}, potentially a competitive advantage. Maintain progress.`\n },\n best: {\n text1: `Your Net Income was ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Net Income is ${impactValue} more than your ${compareWord}, potentially a significant competitive advantage.`,\n textNotesSection: `Your Net Income is ${impactValue} more than your ${compareWord}, potentially a significant competitive advantage. Maintain progress.`\n },\n }\n return statusTexts[status]\n }\n },\n 'cash': {\n copy: 'Cash',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are carrying ${deltaValue} less cash (as a % of Total Assets) compared to your ${compareWord}.`,\n text2: `You are holding ${impactValue} less Cash than your ${compareWord} which could jeopardize the company's ability to meet obligations.`,\n textNotesSection: `You are holding ${impactValue} less Cash than your ${compareWord} which could jeopardize the company's ability to meet obligations.`\n },\n worse: {\n text1: `You are carrying ${deltaValue} less cash (as a % of Total Assets) compared to your ${compareWord}.`,\n text2: `You are holding ${impactValue} less Cash than your ${compareWord}.`,\n textNotesSection: `You are holding ${impactValue} less Cash than your ${compareWord}.`\n },\n maintain: {\n text1: `You are carrying ${deltaValue} more/less cash (as a % of Total Assets) compared to your ${compareWord}.`,\n text2: `You are holding ${impactValue} more/less Cash than your ${compareWord}.`,\n textNotesSection: `You are holding ${impactValue} more/less Cash than your ${compareWord}.`\n },\n better: {\n text1: `You are carrying ${deltaValue} more cash (as a % of Total Assets) compared to your ${compareWord}.`,\n text2: `You are holding ${impactValue} more Cash than your ${compareWord}.`,\n textNotesSection: `You are holding ${impactValue} more Cash than your ${compareWord}.`\n },\n best: {\n text1: `You are carrying ${deltaValue} more cash (as a % of Total Assets) compared to your ${compareWord}.`,\n text2: `You are holding ${impactValue} more Cash than your ${compareWord}. Consider investing into interest earning assets.`,\n textNotesSection: `You are holding ${impactValue} more Cash than your ${compareWord}. Consider investing into interest earning assets.`\n },\n }\n return statusTexts[status]\n }\n },\n 'accounts_receivable': {\n copy: 'Accounts Receivables',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are collecting your Accounts Receivables ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are collecting your Receivables much slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `You are collecting your Receivables much slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}. Consider more aggressive collection policies, evaluating which customers are worthy of credit or changing policies for habitual offenders.`\n },\n worse: {\n text1: `You are collecting your Accounts Receivables ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are collecting your Receivables slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `You are collecting your Receivables slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}. Consider more aggressive collection policies, evaluating which customers are worthy of credit or changing policies for habitual offenders.`\n },\n maintain: {\n text1: `Your Accounts Receivables are ${deltaValue} days different than your ${compareWord}.`,\n text2: `You are collecting your Receivables on pace with your ${compareWord}.`,\n textNotesSection: `You are collecting your Receivables on pace with your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `You are collecting your Accounts Receivables ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are collecting your Receivables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}.`,\n textNotesSection: `You are collecting your Receivables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}. Assess potential positive impact on sales of extending credit to customers.`\n },\n best: {\n text1: `You are collecting your Accounts Receivables ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are collecting your Receivables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}.`,\n textNotesSection: `You are collecting your Receivables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}. Assess potential positive impact on sales of extending credit to customers.`\n },\n }\n return statusTexts[status]\n }\n },\n 'inventory': {\n copy: 'Inventory Turns',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are turning your Inventory ${deltaValue} times fewer than your ${compareWord}.`,\n text2: `Your Inventory Turns are much slower than your ${compareWord}, potentially leading you to have an excess of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `Your Inventory Turns are much slower than your ${compareWord}, potentially leading you to have an excess of ${impactValue} more than your ${compareWord}. Could indicate a serious problem of excess or obsolete inventory. Take steps to analyze inventory and reduce where possible.`\n },\n worse: {\n text1: `You are turning your Inventory ${deltaValue} times fewer than your ${compareWord}.`,\n text2: `Your Inventory Turns are slower than your ${compareWord}, potentially leading you to have an excess of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `Your Inventory Turns are slower than your ${compareWord}, potentially leading you to have an excess of ${impactValue} more than your ${compareWord}. Take steps to analyze your inventory and reduce where possible, especially items that aren't moving or are obsolete.`\n },\n maintain: {\n text1: `Your Inventory Turns are ${deltaValue} times different than your ${compareWord}.`,\n text2: `Your Inventory Turns are within the average range of your ${compareWord}.`,\n textNotesSection: `Your Inventory Turns are within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `You are turning your Inventory ${deltaValue} times more than your ${compareWord}.`,\n text2: `Your Inventory Turns are faster than your ${compareWord}, potentially leading you to have ${impactValue} lower inventory than your ${compareWord}.`,\n textNotesSection: `Your Inventory Turns are faster than your ${compareWord}, potentially leading you to have ${impactValue} lower inventory than your ${compareWord}. Maintain Progress.`\n },\n best: {\n text1: `You are turning your Inventory ${deltaValue} times more than your ${compareWord}.`,\n text2: `Your Inventory Turns are much faster than your ${compareWord}, potentially leading you to have ${impactValue} lower inventory than your ${compareWord}.`,\n textNotesSection: `Your Inventory Turns are much faster than your ${compareWord}, potentially leading you to have ${impactValue} lower inventory than your ${compareWord}. Might be an indication of managing turns well. If, however, inventory is too low, it might cause sales or delivery to be missed. Take steps to ensure that the right level of inventory is being carried.`\n },\n }\n return statusTexts[status]\n }\n },\n 'under_billings': {\n copy: 'Under-Billings',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Under-Billings are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Under-Billings are ${impactValue} higher than your ${compareWord} which can lead to cash flow issues. Target project close to milestones and get invoices to customers.`,\n textNotesSection: `Your Under-Billings are ${impactValue} higher than your ${compareWord} which can lead to cash flow issues. Target project close to milestones and get invoices to customers.`\n },\n worse: {\n text1: `Your Under-Billings are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Under-Billings are ${impactValue} higher than your ${compareWord} which can lead to cash flow issues. Target project close to milestones and get invoices to customers.`,\n textNotesSection: `Your Under-Billings are ${impactValue} higher than your ${compareWord} which can lead to cash flow issues. Target project close to milestones and get invoices to customers.`\n },\n maintain: {\n text1: `Your Under-Billings are ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: `Your Under-Billings are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Under-Billings are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Under-Billings are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Under-Billings are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Under-Billings are ${impactValue} lower than your ${compareWord}.`\n },\n best: {\n text1: `Your Under-Billings are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Under-Billings are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Under-Billings are ${impactValue} lower than your ${compareWord}.`\n },\n }\n return statusTexts[status]\n }\n },\n 'prepaid_and_other_current_assets': {\n copy: 'Prepaid & Other Current Assets',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Prepaid & Other Current Assets are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Prepaid & Other Current Assets are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Prepaid & Other Current Assets are ${impactValue} lower than your ${compareWord}.`\n },\n worse: {\n text1: `Your Prepaid & Other Current Assets are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Prepaid & Other Current Assets are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Prepaid & Other Current Assets are ${impactValue} lower than your ${compareWord}.`\n },\n maintain: {\n text1: `Your Prepaid & Other Current Assets are ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: `Your Prepaid & Other Current Assets are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Prepaid & Other Current Assets are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Prepaid & Other Current Assets are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Prepaid & Other Current Assets are ${impactValue} higher than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Prepaid & Other Current Assets are ${impactValue} higher than your ${compareWord}. Maintain progress.`\n },\n best: {\n text1: `Your Prepaid & Other Current Assets are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Prepaid & Other Current Assets are ${impactValue} higher than your ${compareWord}. Most likely positive, but consider if you are carrying too much in P&OCA.`,\n textNotesSection: `Your Prepaid & Other Current Assets are ${impactValue} higher than your ${compareWord}. Most likely positive, but consider if you are carrying too much in P&OCA.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_current_assets': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'property_and_equipment': {\n copy: 'Property & Equipment',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Property & Equipment is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Property & Equipment is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Property & Equipment is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n worse: {\n text1: `Your Property & Equipment is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Property & Equipment is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Property & Equipment is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n maintain: {\n text1: `Your Property & Equipment is ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Property & Equipment is ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Property & Equipment is ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Property & Equipment is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Property & Equipment is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Property & Equipment is ${impactValue} higher than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n best: {\n text1: `Your Property & Equipment is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Property & Equipment is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Property & Equipment is ${impactValue} higher than your ${compareWord}. This could be very positive, but could also be an indication of over-investment.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_fixed_assets_investments_long term': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'other_long_term_assets': {\n copy: 'Other Long Term Assets',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Other Long Term Assets is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Long Term Assets is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Other Long Term Assets is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in intellectual property to keep pace with your ${compareWord}.`\n },\n worse: {\n text1: `Your Other Long Term Assets is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Long Term Assets is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Other Long Term Assets is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in intellectual property to keep pace with your ${compareWord}.`\n },\n maintain: {\n text1: `Your Other Long Term Assets is ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Other Long Term Assets is ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Other Long Term Assets is ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Property & Equipment is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Long Term Assets is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Other Long Term Assets is ${impactValue} higher than your ${compareWord}. Maintain progress.`\n },\n best: {\n text1: `Your Property & Equipment is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Long Term Assets is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Other Long Term Assets is ${impactValue} higher than your ${compareWord}. Most likely positive, but consider if you are over-investing in OLTA.`\n },\n }\n return statusTexts[status]\n }\n },\n 'less_accumulated_depreciation': {\n copy: 'Accumulated Depreciation',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Accumulated Depreciation is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Accumulated Depreciation is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Accumulated Depreciation is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n worse: {\n text1: `Your Accumulated Depreciation is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Accumulated Depreciation is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Accumulated Depreciation is ${impactValue} lower than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n maintain: {\n text1: `Your Accumulated Depreciation is ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Accumulated Depreciation is ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Accumulated Depreciation is ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Accumulated Depreciation is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Accumulated Depreciation is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Accumulated Depreciation is ${impactValue} higher than your ${compareWord}. This could be an indication of a need to invest in assets that drive your business.`\n },\n best: {\n text1: `Your Accumulated Depreciation is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Accumulated Depreciation is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Accumulated Depreciation is ${impactValue} higher than your ${compareWord}. This could be very positive, but could also be an indication of over-investment.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_fixed_assets': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'accounts_payable': {\n copy: 'Accounts Payables',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are paying your Accounts Payables ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are paying your Payables much slower than your ${compareWord}, potentially leading you to have excess A/P of ${impactValue} more than your ${compareWord}. This could be causing issues with vendors.`,\n textNotesSection: `You are paying your Payables much slower than your ${compareWord}, potentially leading you to have excess A/P of ${impactValue} more than your ${compareWord}. This could be causing issues with vendors. Consider taking steps to reduce A/P Days by examining Cash Flow metrics.`\n },\n worse: {\n text1: `You are paying your Accounts Payables ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are paying your Payables slower than your ${compareWord}, potentially leading you to have an excess A/P of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `You are paying your Payables slower than your ${compareWord}, potentially leading you to have an excess A/P of ${impactValue} more than your ${compareWord}. This could be causing issues with vendors. Consider taking steps to reduce A/P Days by examining Cash Flow metrics.`\n },\n maintain: {\n text1: `Your Accounts Payables are ${deltaValue} days different than your ${compareWord}.`,\n text2: `You are paying your Payables on pace with your ${compareWord}.`,\n textNotesSection: `You are paying your Payables on pace with your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `You are paying your Accounts Payables ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are paying your Payables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}.`,\n textNotesSection: `You are paying your Payables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}. Potential opportunity to negotiate with your vendors, seek better pricing, terms, delivery, etc. in exchange for your payment history.`\n },\n best: {\n text1: `You are paying your Accounts Payables ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are paying your Payables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}.`,\n textNotesSection: `You are paying your Payables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}. Potential opportunity to negotiate with your vendors, seek better pricing, terms, delivery, etc. in exchange for your payment history.`\n },\n }\n return statusTexts[status]\n }\n },\n 'accrued_liabilities': {\n copy: 'Accrued Liabilities',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are paying your Accrued Liabilities ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are paying your Accrued Liabilities much slower than your ${compareWord}, potentially leading you to have excess Accrued Liabilities of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `You are paying your Accrued Liabilities much slower than your ${compareWord}, potentially leading you to have excess Accrued Liabilities of ${impactValue} more than your ${compareWord}. Improve Cash Flow Metrics and pay down Accrued Liabilities to avoid issues.`\n },\n worse: {\n text1: `You are paying your Accrued Liabilities ${deltaValue} days slower than your ${compareWord}.`,\n text2: `You are paying your Accrued Liabilities slower than your ${compareWord}, potentially leading you to have an excess Accrued Liabilities of ${impactValue} more than your ${compareWord}.`,\n textNotesSection: `You are paying your Accrued Liabilities slower than your ${compareWord}, potentially leading you to have an excess Accrued Liabilities of ${impactValue} more than your ${compareWord}. `\n },\n maintain: {\n text1: `Your Accrued Liabilities are ${deltaValue} days different than your ${compareWord}.`,\n text2: `You are paying your Payables on pace with your ${compareWord}.`,\n textNotesSection: `You are paying your Payables on pace with your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `You are paying your Accrued Liabilities ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are paying your Accrued Liabilities faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Accrued Liabilities than your ${compareWord}.`,\n textNotesSection: `You are paying your Accrued Liabilities faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Accrued Liabilities than your ${compareWord}.`\n },\n best: {\n text1: `You are paying your Accrued Liabilities ${deltaValue} days faster than your ${compareWord}.`,\n text2: `You are paying your Accrued Liabilities much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Accrued Liabilities than your ${compareWord}.`,\n textNotesSection: `You are paying your Accrued Liabilities much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Accrued Liabilities than your ${compareWord}.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_current_liabilities_unearned_revenue': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'line_of_credit': {\n copy: 'Line of Credit',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Line of Credit is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Line of Credit is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Line of Credit is ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the LOC with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n worse: {\n text1: `Your Line of Credit is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Line of Credit is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Line of Credit is ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the LOC with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n maintain: {\n text1: `Your Line of Credit is ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Line of Credit is ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Line of Credit is ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Line of Credit is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Line of Credit is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Line of Credit is ${impactValue} lower than your ${compareWord}. Compare to Current Assets, but might be sources of capital to fund growth, if needed.`\n },\n best: {\n text1: `Your Line of Credit is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Line of Credit is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Line of Credit is ${impactValue} lower than your ${compareWord}. Compare to Current Assets, but might be sources of capital to fund growth, if needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'current_portion_of_ltd': {\n copy: 'Current Portion of LTD',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Current Portion of LTD is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Current Portion of LTD is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Current Portion of LTD is ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the Current Portion of LTD with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n worse: {\n text1: `Your Current Portion of LTD is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Current Portion of LTD is ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Current Portion of LTD is ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the Current Portion of LTD with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n maintain: {\n text1: `Your Current Portion of LTD is ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Current Portion of LTD is ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Current Portion of LTD is ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Current Portion of LTD is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Current Portion of LTD is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Current Portion of LTD is ${impactValue} lower than your ${compareWord}. Consider Debt, Equity & Cash Flow, but might be a source of capital to fund growth, if needed.`\n },\n best: {\n text1: `Your Current Portion of LTD is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Current Portion of LTD is ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Current Portion of LTD is ${impactValue} lower than your ${compareWord}. Consider Debt, Equity & Cash Flow, but might be a source of capital to fund growth, if needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'over_billings': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Over-Billings are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Over-Billings are ${impactValue} higher than your ${compareWord} which could mean a misalignment of revenue recognition. Could also put the company at risk of not having the resources needed to complete projects.`,\n textNotesSection: `Your Over-Billings are ${impactValue} higher than your ${compareWord} which could mean a misalignment of revenue recognition. Could also put the company at risk of not having the resources needed to complete projects.`\n },\n worse: {\n text1: `Your Over-Billings are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Over-Billings are ${impactValue} higher than your ${compareWord} which could mean a misalignment of revenue recognition.`,\n textNotesSection: `Your Over-Billings are ${impactValue} higher than your ${compareWord} which could mean a misalignment of revenue recognition.`\n },\n maintain: {\n text1: `Your Over-Billings are ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: `Your Over-Billings are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Over-Billings are ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Over-Billings are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Over-Billings are ${impactValue} lower than your ${compareWord} which might cause cash flow shortages.`,\n textNotesSection: `Your Over-Billings are ${impactValue} lower than your ${compareWord} which might cause cash flow shortages.`\n },\n best: {\n text1: `Your Over-Billings are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Over-Billings are ${impactValue} lower than your ${compareWord} which might cause cash flow shortages.`,\n textNotesSection: `Your Over-Billings are ${impactValue} lower than your ${compareWord} which might cause cash flow shortages.`\n },\n }\n return statusTexts[status]\n }\n },\n 'other_current_liabilities': {\n copy: 'Other Current Liabilities',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Other Current Liabilities are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Current Liabilities are ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Other Current Liabilities are ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the LOC with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n worse: {\n text1: `Your Other Current Liabilities are ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Other Current Liabilities are ${impactValue} higher than your ${compareWord}.`,\n textNotesSection: `Your Other Current Liabilities are ${impactValue} higher than your ${compareWord}. Compare to Current Assets to support the LOC with your lender. Might want to consider moving to Long-Term Debt or paying down, if possible.`\n },\n maintain: {\n text1: `Your Other Current Liabilities are ${deltaValue} different from your ${compareWord}.`,\n text2: `Your Other Current Liabilities are ${impactValue} different from your ${compareWord}.`,\n textNotesSection: `Your Other Current Liabilities are ${impactValue} different from your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Other Current Liabilities are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Current Liabilities are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Other Current Liabilities are ${impactValue} lower than your ${compareWord}. Compare to Current Assets, but might be sources of capital to fund growth, if needed.`\n },\n best: {\n text1: `Your Other Current Liabilities are ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Other Current Liabilities are ${impactValue} lower than your ${compareWord}.`,\n textNotesSection: `Your Other Current Liabilities are ${impactValue} lower than your ${compareWord}. Compare to Current Assets, but might be sources of capital to fund growth, if needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_current_liabilities': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'long_term_debt': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Long Term Debt is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Long Term Debt is ${impactValue} higher than your ${compareWord}. Compare to Fixed Assets. Might want to consider paying down debt and/or injecting equity.`,\n textNotesSection: `Your Long Term Debt is ${impactValue} higher than your ${compareWord}. Compare to Fixed Assets. Might want to consider paying down debt and/or injecting equity.`\n },\n worse: {\n text1: `Your Long Term Debt is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Long Term Debt is ${impactValue} higher than your ${compareWord}. Compare to Fixed Assets. Might want to consider paying down debt.`,\n textNotesSection: `Your Long Term Debt is ${impactValue} higher than your ${compareWord}. Compare to Fixed Assets. Might want to consider paying down debt.`\n },\n maintain: {\n text1: `Your Long Term Debt is ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: `Your Long Term Debt is ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Long Term Debt is ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Long Term Debt is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Long Term Debt is ${impactValue} lower than your ${compareWord}. Compare to Fixed Assets, but might be sources of capital to fund growth, if needed.`,\n textNotesSection: `Your Long Term Debt is ${impactValue} lower than your ${compareWord}. Compare to Fixed Assets, but might be sources of capital to fund growth, if needed.`\n },\n best: {\n text1: `Your Long Term Debt is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Long Term Debt is ${impactValue} lower than your ${compareWord}. Compare to Fixed Assets, but might be sources of capital to fund growth, if needed.`,\n textNotesSection: `Your Long Term Debt is ${impactValue} lower than your ${compareWord}. Compare to Fixed Assets, but might be sources of capital to fund growth, if needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'net_worth': {\n copy: '',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Net Worth is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Net Worth is ${impactValue} lower than your ${compareWord}, which can be a significant disadvantage. Improve profitability or inject some capital to improve your Equity.`,\n textNotesSection: `Your Net Worth is ${impactValue} lower than your ${compareWord}, which can be a significant disadvantage. Improve profitability or inject some capital to improve your Equity.`\n },\n worse: {\n text1: `Your Net Worth is ${deltaValue} lower than your ${compareWord}.`,\n text2: `Your Net Worth is ${impactValue} lower than your ${compareWord}, which can be a disadvantage. Improve profitability or inject some capital to improve your Equity.`,\n textNotesSection: `Your Net Worth is ${impactValue} lower than your ${compareWord}, which can be a disadvantage. Improve profitability or inject some capital to improve your Equity.`\n },\n maintain: {\n text1: `Your Net Worth is ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: `Your Net Worth is ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`,\n textNotesSection: `Your Net Worth is ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your Net Worth is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Net Worth is ${impactValue} higher than your ${compareWord}, which can be an advantage. Consider if Debt financing is available to offset Weighted Average Cost of Capital.`,\n textNotesSection: `Your Net Worth is ${impactValue} higher than your ${compareWord}, which can be an advantage. Consider if Debt financing is available to offset Weighted Average Cost of Capital.`\n },\n best: {\n text1: `Your Net Worth is ${deltaValue} higher than your ${compareWord}.`,\n text2: `Your Net Worth is ${impactValue} higher than your ${compareWord}, which can be a significant advantage. Consider if Debt financing is available to offset Weighted Average Cost of Capital.`,\n textNotesSection: `Your Net Worth is ${impactValue} higher than your ${compareWord}, which can be a significant advantage. Consider if Debt financing is available to offset Weighted Average Cost of Capital.`\n },\n }\n return statusTexts[status]\n }\n },\n 'current_ratio': {\n copy: 'Current Ratio',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Current Ratio is ${deltaValue} lower than your ${compareWord}`,\n text2: ``,\n textNotesSection: `Could be an indication of your company's inability to meet its current obligations. Retain cash in the business, pay down current liabilities, or restructure short-term debt to be paid over longer term than one year.`\n },\n worse: {\n text1: `Current Ratio is ${deltaValue} lower than your ${compareWord}`,\n text2: ``,\n textNotesSection: `Could be an indication of your company's inability to meet its current obligations. Retain cash in the business, pay down current liabilities, or restructure short-term debt to be paid over longer term than one year.`\n },\n maintain: {\n text1: `Current Ratio is ${deltaValue} lower/higher than your ${compareWord}`,\n text2: ``,\n textNotesSection: `Maintain Progress.`\n },\n better: {\n text1: `Current Ratio is ${deltaValue} higher than your ${compareWord}`,\n text2: ``,\n textNotesSection: `A high Current Ratio indicates the company has strong ability to meet its current obligations.`\n },\n best: {\n text1: `Current Ratio is ${deltaValue} higher than your ${compareWord}`,\n text2: ``,\n textNotesSection: `A high Current Ratio indicates the company has strong ability to meet its current obligations. If much higher for greater than 1 year, consider investing a portion of your current assets.`\n },\n }\n return statusTexts[status]\n }\n },\n 'net_working_capital': {\n copy: 'Net Working Capital',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Net Working Capital is ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Working Capital is ${impactValue} lower than your ${compareWord} which could prevent the company from meeting its obligations. If Current Liabilities are too high, consider refinancing over longer term.`\n },\n worse: {\n text1: `Your Net Working Capital is ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Working Capital is ${impactValue} lower than your ${compareWord}.`\n },\n maintain: {\n text1: `Your Net Working Capital is ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Working Capital is ${impactValue} higher/lower than your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Net Working Capital is ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Working Capital is ${impactValue} higher than your ${compareWord}. Maintain Progress.`\n },\n best: {\n text1: `Your Net Working Capital is ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Working Capital is ${impactValue} higher than your ${compareWord}. Most likely positive, but consider if you need to invest Current Assets into Fixed Assets.`\n },\n }\n return statusTexts[status]\n }\n },\n 'days_cash_on_hand': {\n copy: 'Days Cash on Hand',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You have ${deltaValue} fewer Days Cash on Hand than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You have ${impactValue} less Cash on Hand.`\n },\n worse: {\n text1: `You have ${deltaValue} fewer Days Cash on Hand than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You have ${impactValue} less Cash on Hand.`\n },\n maintain: {\n text1: `You have ${deltaValue} more/fewer Days Cash on Hand than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You have ${impactValue} more/less Cash on Hand.`\n },\n better: {\n text1: `You have ${deltaValue} more Days Cash on Hand than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You have ${impactValue} more Cash on Hand.`\n },\n best: {\n text1: `You have ${deltaValue} more Days Cash on Hand than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You have ${impactValue} more Cash on Hand.`\n },\n }\n return statusTexts[status]\n }\n },\n 'ebitda': {\n copy: 'EBITDA',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your EBITDA ${deltaValue} is much lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your EBITDA is ${impactValue} lower than your ${compareWord}. Take steps to improve profitability.`\n },\n worse: {\n text1: `Your EBITDA ${deltaValue} is much lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your EBITDA is ${impactValue} lower than your ${compareWord}. Take steps to improve profitability.`\n },\n maintain: {\n text1: `Your EBITDA ${deltaValue} is higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your EBITDA is ${impactValue} higher/lower than your ${compareWord}. Maintain progress.`\n },\n better: {\n text1: `Your EBITDA ${deltaValue} is higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your EBITDA is ${impactValue} higher than your ${compareWord}.`\n },\n best: {\n text1: `Your EBITDA ${deltaValue} is higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your EBITDA is ${impactValue} higher than your ${compareWord}.`\n },\n }\n return statusTexts[status]\n }\n },\n 'senior_debt_to_ebitda': {\n copy: 'Senior Debt / EBITDA',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Indicates lower senior debt and/or higher cash flow than ${compareWord}. This could be an opportunity to leverage additional debt.`,\n text2: ``,\n textNotesSection: `Indicates lower senior debt and/or higher cash flow than ${compareWord}. This could be an opportunity to leverage additional debt.`\n },\n worse: {\n text1: `Indicates lower senior debt and/or higher cash flow than ${compareWord}. This could be an opportunity to leverage additional debt.`,\n text2: ``,\n textNotesSection: `Indicates lower senior debt and/or higher cash flow than ${compareWord}. This could be an opportunity to leverage additional debt.`\n },\n maintain: {\n text1: `Maintain Progress.`,\n text2: ``,\n textNotesSection: `Maintain Progress.`\n },\n better: {\n text1: `Consider reducing Senior Debt, increasing EBITDA, or both.`,\n text2: ``,\n textNotesSection: `Consider reducing Senior Debt, increasing EBITDA, or both.`\n },\n best: {\n text1: `Consider reducing Senior Debt, increasing EBITDA, or both.`,\n text2: ``,\n textNotesSection: `Consider reducing Senior Debt, increasing EBITDA, or both.`\n },\n }\n return statusTexts[status]\n }\n },\n 'debt_to_equity': {\n copy: 'Debt / Equity',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You have more dollars of debt to every dollar of equity compared to your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Could be over-leveraged compared to ${compareWord}. Consider paying down debt, retaining profits in the business, injecting equity into the business, or some combination of the three.`\n },\n worse: {\n text1: `You have more dollars of debt to every dollar of equity compared to your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Could be over-leveraged compared to ${compareWord}. Consider paying down debt, retaining profits in the business, injecting equity into the business, or some combination of the three.`\n },\n maintain: {\n text1: `Maintain Progress.`,\n text2: ``,\n textNotesSection: `Maintain Progress.`\n },\n better: {\n text1: `You have fewer dollars of debt to every dollar of equity compared to your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Could be under-leveraged compared to ${compareWord}. Consider taking on debt if capital is needed to finance growth.`\n },\n best: {\n text1: `You have fewer dollars of debt to every dollar of equity compared to your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Could be under-leveraged compared to ${compareWord}. Consider taking on debt if capital is needed to finance growth.`\n },\n }\n return statusTexts[status]\n }\n },\n 'ar_days': {\n copy: 'Accounts Receivable Days',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n best: {\n text1: `You are collecting your Receivables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are collecting your Receivables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}. Assess potential positive impact on sales of extending credit to customers.`\n },\n better: {\n text1: `You are collecting your Receivables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are collecting your Receivables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Receivables than your ${compareWord}. Assess potential positive impact on sales of extending credit to customers.`\n },\n maintain: {\n text1: `You are collecting your Receivables on pace with your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are collecting your Receivables on pace with your ${compareWord}. Maintain Progress`\n },\n worse: {\n text1: `You are collecting your Receivables slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are collecting your Receivables slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}. Consider more aggressive collection policies, evaluating which customers are worthy of credit or changing policies for habitual offenders.`\n },\n worst: {\n text1: `You are collecting your Receivables much slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are collecting your Receivables much slower than your ${compareWord}, potentially leading you to have excess A/R of ${impactValue} more than your ${compareWord}. Consider more aggressive collection policies, evaluating which customers are worthy of credit or changing policies for habitual offenders.`\n },\n }\n return statusTexts[status]\n }\n },\n 'ap_days': {\n copy: 'Accounts Payable Days',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `You are paying your Payables much slower than your ${compareWord}, potentially leading you to have excess A/P of ${impactValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are paying your Payables much slower than your ${compareWord}, potentially leading you to have excess A/P of ${impactValue} more than your ${compareWord}. This could be causing issues with vendors. Consider taking steps to reduce A/P Days by examining Cash Flow metrics.`\n },\n worse: {\n text1: `You are paying your Payables slower than your ${compareWord}, potentially leading you to have an excess A/P of ${impactValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are paying your Payables slower than your ${compareWord}, potentially leading you to have an excess A/P of ${impactValue} more than your ${compareWord}. This could be causing issues with vendors. Consider taking steps to reduce A/P Days by examining Cash Flow metrics.`\n },\n maintain: {\n text1: `You are paying your Payables on pace with your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are paying your Payables on pace with your ${compareWord}. Maintain Progress`\n },\n better: {\n text1: `You are paying your Payables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are paying your Payables faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}. Potential opportunity to negotiate with your vendors, seek better pricing, terms, delivery, etc. in exchange for your payment history.`\n },\n best: {\n text1: `You are paying your Payables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You are paying your Payables much faster than your ${compareWord}, potentially leading you to have ${impactValue} fewer Payables than your ${compareWord}. Potential opportunity to negotiate with your vendors, seek better pricing, terms, delivery, etc. in exchange for your payment history.`\n },\n }\n return statusTexts[status]\n }\n },\n}\n\nconst peopleText = {\n 'total_revenue_per_employee': {\n copy: 'Revenue Per Employee',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Revenue Per Employee is ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Employee is ${impactValue} less than your ${compareWord}, which could be a significant competitive disadvantage. Review Revenue, employment levels, compensation and turnover to determine if action is needed.`\n },\n worse: {\n text1: `Your Revenue Per Employee is ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Employee is ${impactValue} less than your ${compareWord}, which could be a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Revenue Per Employee is ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Employee is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Revenue Per Employee is ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Employee is ${impactValue} more than your ${compareWord}, which could be a competitive advantage.`\n },\n best: {\n text1: `Your Revenue Per Employee is ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Employee is ${impactValue} more than your ${compareWord}, which could be a competitive advantage. Review employment levels, turnover, and compensation to ensure long-term sustainability.`\n },\n }\n return statusTexts[status]\n }\n },\n 'operating_expenses_net_income_per_employee': {\n copy: 'Profit Per Employee',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Profit Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Profit Per Employee is ${impactValue} lower than your ${compareWord}, which could be a significant competitive disadvantage. Review Revenue, employment levels, compensation and turnover to determine if action is needed.`\n },\n worse: {\n text1: `Your Profit Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Profit Per Employee is ${impactValue} lower than your ${compareWord}, which could be a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Profit Per Employee was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Profit Per Employee is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Profit Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Profit Per Employee is ${impactValue} higher than your ${compareWord}, which could be a competitive advantage.`\n },\n best: {\n text1: `Your Profit Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Profit Per Employee is ${impactValue} higher than your ${compareWord}, which could be a competitive advantage. Review employment levels, turnover, and compensation to ensure long-term sustainability.`\n },\n }\n return statusTexts[status]\n }\n },\n 'sum_compensation_growth_rate': {\n copy: 'Compensation Growth Rate',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Compensation Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Compensation Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage. Review revenue, profitability, employment levels, and turnover rate to determine of action is needed.`\n },\n worse: {\n text1: `Your Compensation Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Compensation Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage, unless being done strategically.`\n },\n maintain: {\n text1: `Your Compensation Growth Rate was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Compensation Growth Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Compensation Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Compensation Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage. Maintain Progress.`\n },\n best: {\n text1: `Your Compensation Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Compensation Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage, unless causes lower efficiency or higher turnover. Review for long-term sustainability.`\n },\n }\n return statusTexts[status]\n }\n },\n 'sum_taxes_and_benefits_growth_rate': {\n copy: 'Benefits Growth Rate',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Benefits Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage. Review revenue, profitability, employment levels, and turnover rate to determine of action is needed.`\n },\n worse: {\n text1: `Your Benefits Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage, unless being done strategically.`\n },\n maintain: {\n text1: `Your Benefits Growth Rate was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Growth Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Benefits Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage. Maintain Progress.`\n },\n best: {\n text1: `Your Benefits Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage, unless causes lower efficiency or higher turnover. Review for long-term sustainability.`\n },\n }\n return statusTexts[status]\n }\n },\n 'sum_subcontractors_growth_rate': {\n copy: 'Use of Subcontractors Growth Rate',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Use of Subcontractors Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Use of Subcontractors Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage, unless relieving you of fixed Compensation costs. Review overall People spend and revise if needed.`\n },\n worse: {\n text1: `Your Use of Subcontractors Growth Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Use of Subcontractors Growth Rate is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage, unless relieving you of fixed Compensation costs.`\n },\n maintain: {\n text1: `Your Use of Subcontractors Growth Rate was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Use of Subcontractors Growth Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Use of Subcontractors Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Use of Subcontractors Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage. Maintain progress.`\n },\n best: {\n text1: `Your Use of Subcontractors Growth Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Use of Subcontractors Growth Rate is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage, unless your fixed Compensation costs offer lower flexibility and higher costs.`\n },\n }\n return statusTexts[status]\n }\n },\n 'average_wages_and_salaries': {\n copy: 'Avg Wages & Salaries Per Employee',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Avg Wages & Salaries Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Avg Wages & Salaries Per Employee is ${impactValue} more than your ${compareWord}, potentially a significant competitive disadvantage. Review all Compensation-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Avg Wages & Salaries Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Avg Wages & Salaries Per Employee is ${impactValue} more than your ${compareWord}, potentially a competitive disadvantage. Review all Wages & Salaries Per Employee-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Avg Wages & Salaries Per Employee was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Avg Wages & Salaries Per Employee is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Avg Wages & Salaries Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Avg Wages & Salaries Per Employee is ${impactValue} less than your ${compareWord}, potentially a competitive advantage. Review all Wages & Salaries Per Employee-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Avg Wages & Salaries Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Avg Wages & Salaries Per Employee is ${impactValue} less than your ${compareWord}, potentially a significant competitive advantage. However, lower Wages & Salaries Per Employee expense for a long period could jeopardize future growth.`\n },\n }\n return statusTexts[status]\n }\n },\n 'average_benefits': {\n copy: 'Avg Benefits Per Employee',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Benefits Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Per Employee is ${impactValue} higher than your ${compareWord}, potentially a significant competitive disadvantage. Review all Compensation-related costs to determine if change is needed.`\n },\n worse: {\n text1: `Your Benefits Per Employee was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Per Employee is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage. Review all Wages & Salaries Per Employee-related costs to determine if change is needed.`\n },\n maintain: {\n text1: `Your Benefits Per Employee was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Per Employee is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Benefits Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Per Employee is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage. Review all Wages & Salaries Per Employee-related costs to determine if change is needed.`\n },\n best: {\n text1: `Your Benefits Per Employee was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Benefits Per Employee is ${impactValue} lower than your ${compareWord},, potentially a significant competitive advantage. However, lower Wages & Salaries Per Employee expense for a long period could jeopardize future growth.`\n },\n }\n return statusTexts[status]\n }\n },\n 'turnover_rate': {\n copy: 'Turnover Rate',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Turnover Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: ``\n },\n worse: {\n text1: `Your Turnover Rate was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: ``\n },\n maintain: {\n text1: `Your Turnover Rate was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: ``\n },\n better: {\n text1: `Your Turnover Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: ``\n },\n best: {\n text1: `Your Turnover Rate was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: ``\n },\n }\n return statusTexts[status]\n }\n },\n 'cost_of_turnover': {\n copy: 'Cost of Turnover',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: ``,\n text2: ``,\n textNotesSection: `Your Cost of Turnover is ${deltaValue} higher than your ${compareWord}, potentially a significant competitive disadvantage.`\n },\n worse: {\n text1: ``,\n text2: ``,\n textNotesSection: `Your Cost of Turnover is ${deltaValue} higher than your ${compareWord}, potentially a competitive disadvantage.`\n },\n maintain: {\n text1: ``,\n text2: ``,\n textNotesSection: `Your Cost of Turnover is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: ``,\n text2: ``,\n textNotesSection: `Your Cost of Turnover is ${deltaValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n best: {\n text1: ``,\n text2: ``,\n textNotesSection: `Your Cost of Turnover is ${deltaValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n }\n}\n\nconst customersText = {\n 'revenue_per_customer': {\n copy: 'Revenue Per Client',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Revenue Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n worse: {\n text1: `Your Revenue Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n maintain: {\n text1: `Your Revenue Per Client was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Client is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Revenue Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n best: {\n text1: `Your Revenue Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Revenue Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'gross_profit_per_customer': {\n copy: 'Gross Profit Per Client',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Gross Profit Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Gross Profit Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n worse: {\n text1: `Your Gross Profit Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Gross Profit Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n maintain: {\n text1: `Your Gross Profit Per Client was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Gross Profit Per Client is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Gross Profit Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Gross Profit Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n best: {\n text1: `Your Gross Profit Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Gross Profit Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'operating_expenses_net_income_per_customer': {\n copy: 'Net Profit Per Client',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Net Profit Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Profit Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n worse: {\n text1: `Your Net Profit Per Client was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Profit Per Client is ${impactValue} lower than your ${compareWord}, potentially a competitive disadvantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n maintain: {\n text1: `Your Net Profit Per Client was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Profit Per Client is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Net Profit Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Profit Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n best: {\n text1: `Your Net Profit Per Client was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Net Profit Per Client is ${impactValue} higher than your ${compareWord}, potentially a competitive advantage. Review Growth Rate, Gross Profit, and Net Profit to determine if change is needed.`\n },\n }\n return statusTexts[status]\n }\n },\n 'percent_of_sales_from_the_top_10_percent': {\n copy: 'Customer Concentration - 10%',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Revenue from the Top 10% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 10% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a significant competitive disadvantage.`\n },\n worse: {\n text1: `Your Revenue from the Top 10% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 10% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Revenue from the Top 10% of your Customers was ${deltaValue} more/less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Customer Concentration Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Revenue from the Top 10% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 10% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n best: {\n text1: `Your Revenue from the Top 10% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 10% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'percent_of_sales_from_the_top_25_percent': {\n copy: 'Customer Concentration - 25%',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Revenue from the Top 25% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 25% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a significant competitive disadvantage.`\n },\n worse: {\n text1: `Your Revenue from the Top 25% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 25% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Revenue from the Top 25% of your Customers was ${deltaValue} more/less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Customer Concentration Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Revenue from the Top 25% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 25% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n best: {\n text1: `Your Revenue from the Top 25% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 25% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'percent_of_sales_from_the_top_50_percent': {\n copy: 'Customer Concentration - 50%',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Revenue from the Top 50% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 50% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a significant competitive disadvantage.`\n },\n worse: {\n text1: `Your Revenue from the Top 50% of your Customers was ${deltaValue} more than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 50% of your Customers is ${impactValue} higher than your ${compareWord}, potentially a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Revenue from the Top 50% of your Customers was ${deltaValue} more/less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Customer Concentration Rate is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Revenue from the Top 50% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 50% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n best: {\n text1: `Your Revenue from the Top 50% of your Customers was ${deltaValue} less than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Revenue from the Top 50% of your Customers is ${impactValue} lower than your ${compareWord}, potentially a competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n },\n 'total_customer_costs_common_size_revenue': {\n copy: 'Marketing Spend',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Marketing Spend is much higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Consider in conjunction with Marketing ROI and adjust if needed.`\n },\n worse: {\n text1: `Your Marketing Spend is higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Consider in conjunction with Marketing ROI and adjust if needed.`\n },\n maintain: {\n text1: `Your Marketing Spend was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Maintain Progress.`\n },\n better: {\n text1: `Your Marketing Spend is lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `If Marketing ROI is high, could indicate efficiency. Determine the long-term impact of a Marketing Spend that's much lower than your ${compareWord}.`\n },\n best: {\n text1: `Your Marketing Spend is much lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `If Marketing ROI is high, could indicate efficiency. Determine the long-term impact of a Marketing Spend that's much lower than your ${compareWord}.`\n },\n }\n return statusTexts[status]\n }\n },\n 'customer_roi': {\n copy: 'Marketing ROI',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Marketing ROI was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Marketing ROI is ${impactValue} lower than your ${compareWord}. Consider editing how much and where you spend your marketing budget.`\n },\n worse: {\n text1: `Your Marketing ROI was ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Marketing ROI is ${impactValue} lower than your ${compareWord}. Consider editing how much and where you spend your marketing budget.`\n },\n maintain: {\n text1: `Your Marketing ROI was ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Marketing ROI is within the average range of your ${compareWord}. Maintain Progress.`\n },\n better: {\n text1: `Your Marketing ROI was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Marketing ROI is ${impactValue} higher than your ${compareWord}. Maintain Progress.`\n },\n best: {\n text1: `Your Marketing ROI was ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `Your Marketing ROI is ${impactValue} higher than your ${compareWord}. If because of low investment, consider how sustainable this is long-term.`\n },\n }\n return statusTexts[status]\n }\n },\n 'number_of_new_customers_needed_to_maintain_growth': {\n copy: 'Growth Requirements',\n texts: function (status, impactValue, deltaValue, compareWord) {\n let statusTexts = {\n worst: {\n text1: `Your Growth Requirements are ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You need ${deltaValue} more clients than your peers in order to maintain your growth rate, potentially a significant competitive disadvantage.`\n },\n worse: {\n text1: `Your Growth Requirements are ${deltaValue} higher than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You need ${deltaValue} more clients than your peers in order to maintain your growth rate, potentially a competitive disadvantage.`\n },\n maintain: {\n text1: `Your Growth Requirements are ${deltaValue} higher/lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `On average, you need the same number of new customers to grow your business at the same pace as your peers.`\n },\n better: {\n text1: `Your Growth Requirements are ${deltaValue} lower than your ${compareWord}.`,\n text2: ``,\n textNotesSection: `You need ${deltaValue} fewer clients than your peers in order to maintain your growth rate, potentially a competitive advantage.`\n },\n best: {\n text1: `Your Growth Requirements are ${deltaValue} lower than your ${compareWord}, potentially a competitive advantage.`,\n text2: ``,\n textNotesSection: `You need ${deltaValue} fewer clients than your peers in order to maintain your growth rate, potentially a significant competitive advantage.`\n },\n }\n return statusTexts[status]\n }\n }\n}\n\nconst formatValue = (value, type, sheet = '', key) => {\n if (sheet === 'kfis') {\n const roundedDecimal = ['number_of_holes_on_golf_course', 'number_of_new_customers_needed_to_maintain_growth'];\n const ratio = ['quick_ratio', 'debt_ratio', 'operating_cash_flow_kfi', 'current_ratio', 'net_working_capital_ratio', 'debt_to_equity', 'senior_debt_to_ebitda', 'ebitda_to_annual_interest']\n const days = ['days_cash_on_hand', 'ar_days', 'ap_days']\n const money = ['net_working_capital', 'operating_expenses_net_income', 'interest_and_other_expenses', 'total_other_costs_taxes_- federal & state', 'depreciation_and_amortization', 'ebitda', 'maintenace_per_golf_hole']\n const twoDecimal = ['asset_turnover_ratio', 'inventory_turnover_ratio']\n const percent = ['total_revenue_growth_rate', 'net_profit', 'cash_flow_margin', 'gross_profit', 'operating_profit', 'roa', 'roe', 'roce', 'gross_profit_common_size_revenue', 'operating_profit_common_size_revenue', 'operating_expenses_net_income_common_size_revenue']\n\n if (roundedDecimal.includes(key)) {\n return formatters['roundedDecimal'](value)\n } else if (ratio.includes(key)) {\n return formatters['ratio'](value)\n } else if (days.includes(key)) {\n return formatters['days'](value)\n } else if (money.includes(key)) {\n return formatters['currency'](value)\n } else if (twoDecimal.includes(key)) {\n return formatters['twoDecimal'](value)\n } else if (percent.includes(key)) {\n return formatters['formatPercent'](value)\n } else {\n return _.isNumber(amount) ? '-' : ''\n };\n } else {\n return formatters[type](value)\n }\n}\n\nconst formatters = {\n currency: function (value) {\n return parseMoney(value);\n },\n money: function (value) {\n return parseMoney(value);\n },\n percent: function (value) {\n return `${value.toFixed(1)}%`;\n },\n formatPercent: function (value) {\n return `${value.toFixed(1)}%`;\n },\n decimal: function (value) {\n return `${Math.round(value * 10) / 10}`;\n },\n roundedDecimal: function (value) {\n return `${Math.round(value)}`;\n },\n twoDecimal: function (value) {\n return value ? value.toFixed(2) : '';\n },\n ratio: function (value) {\n return value ? `${value.toFixed(1)} to 1` : '';\n },\n days: function (value) {\n return value ? `${value.toFixed(1)} days` : '';\n },\n}\n\nconst getRangeValueKFI = (you, peer, key = null, parentKey = null) => {\n let youVal = you;\n let avgVal = peer;\n const percentKeys = ['ebitda', 'net_working_capital', 'total_revenue_growth_rate', 'net_profit', 'cash_flow_margin', 'roa', 'roe', 'roce', 'gross_profit', 'operating_profit', 'gross_profit_common_size_revenue', 'operating_profit_common_size_revenue']\n if (percentKeys.includes(key) && youVal) {\n youVal = you * 100\n }\n if (percentKeys.includes(key) && avgVal) {\n avgVal = peer * 100\n }\n\n // Only ar_days inventory_turnover_ratio debt_to_equity are good with lower values than peers avg\n const goodDownArrowKeys = ['debt_ratio', 'ar_days', 'debt_to_equity', 'maintenace_per_golf_hole'];\n const keyIsGoodDown = goodDownArrowKeys.includes(key);\n if (key === 'debt_to_equity' && youVal < 0) {\n return 'worse'\n }\n\n let range = []\n if (!percentKeys.includes(key) && avgVal) {\n let fivePercent = avgVal * 0.05\n let tenPercent = avgVal * 0.1\n // range = [(avgVal * 0.5), (avgVal * 0.75), (avgVal * 1.25), (avgVal * 1.5)].sort(function (a, b) { return a - b });\n range = [(avgVal - tenPercent), (avgVal - fivePercent), (avgVal + fivePercent), (avgVal + tenPercent)]\n } else {\n range = [(avgVal - 10), (avgVal - 5), (avgVal + 5), (avgVal + 10)]\n }\n\n switch (true) {\n case (range[1] < youVal && youVal < range[2]):\n return 'maintain';\n case (range[0] < youVal && youVal < range[1]):\n return keyIsGoodDown ? 'better' : 'worse';\n case (youVal < range[0]):\n return keyIsGoodDown ? 'best' : 'worst';\n case (range[2] < youVal && youVal < range[3]):\n return keyIsGoodDown ? 'worse' : 'better';\n case (range[3] < youVal):\n return keyIsGoodDown ? 'worst' : 'best';\n default:\n return 'n/a'\n }\n}\n\nconst getRangeValue = (you, peer, key = null, parentKey = null) => {\n let youVal = you;\n let avgVal = peer;\n let range = [(peer * 0.5), (peer * 0.75), (peer * 1.25), (peer * 1.5)].sort(function (a, b) { return a - b });\n // Common sized values\n const goodUpArrowKeys = ['ebitda', 'total_revenue', 'gross_profit', 'operating_profit', 'operating_expenses_net_income', 'total_current_assets', 'total_fixed_assets', 'total_assets', 'under_billings', 'prepaid_and_other_current_assets', 'property_and_equipment', 'other_long_term_assets', 'net_operating_activities', 'net_investing_activities', 'net_financing_activities', 'net_change_cash', 'cash', 'operating_cash_flow', 'capital_expenditure', 'free_cash_flow', 'equity', 'revenue_per_customer', 'gross_profit_per_customer', 'operating_expenses_net_income_per_customer', 'customer_roi', 'number_of_new_customers_needed_to_maintain_growth'];\n const goodUpBalanceSheetParents = ['total_current_assets', 'total_fixed_assets', 'total_assets'];\n const ingoreArrowKeys = ['net_worth', 'total_liabilities_and_equity'];\n\n let keyIsGoodUp = goodUpArrowKeys.includes(key);\n if (goodUpBalanceSheetParents.includes(parentKey) || !key) {\n keyIsGoodUp = true;\n }\n if (ingoreArrowKeys.includes(key) || ingoreArrowKeys.includes(parentKey)) {\n return 'maintain';\n }\n\n switch (true) {\n case (youVal < range[0]):\n return keyIsGoodUp ? 'worst' : 'best';\n case (range[0] < youVal && youVal < range[1]):\n return keyIsGoodUp ? 'worse' : 'better';\n case (range[1] < youVal && youVal < range[2]):\n return 'maintain';\n case (range[2] < youVal && youVal < range[3]):\n return keyIsGoodUp ? 'better' : 'worse';\n case (range[3] < youVal):\n return keyIsGoodUp ? 'best' : 'worst';\n default:\n return 'n/a'\n }\n}\n\nconst specialImpactCalcs = (key, values) => {\n let finalValue = null;\n if (key === 'total_revenue') {\n if (values['prevRev']) {\n finalValue = (values['currentRev'] / values['prevRev']) - 1;\n }\n }\n if (key === 'gross_profit') {\n if (values['currentRev']) {\n finalValue = (values['currentRev'] - values['cogs']) / values['currentRev'];\n }\n }\n if (key === 'operating_expenses_net_income') {\n if (values['currentRev']) {\n finalValue = values['netIncome'] / values['currentRev'];\n }\n }\n\n if (key === 'inventory') {\n let denominator = ((currentInventory + previousInventory) / 2);\n if (denominator) {\n finalValue = materialCosts / denominator;\n }\n\n }\n return finalValue;\n}\n\nconst buildImpactBox = (metric, sheet, displayColumnsBy, reportPeriod, compareWith, year, yearRange, calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs, calcsAvgType = null, calcs_3_years_back = null, monthlyCompareWithTitle = null, forecastVals = null) => {\n // Need 'you' value of selected metric\n // Also the difference in percentage with you and peers common size\n let youValue, compareValue = null;\n let youAvg, compareAvg = null;\n let impactValue, impactValueFormatted = null;\n let deltaValue, deltaCommonSize = null;\n let status, impactText, copy = null;\n const sum = (a, b) => a + b;\n const specialKeys = ['total_revenue', 'gross_profit', 'operating_expenses_net_income', 'inventory', 'inventory_turnover_ratio', 'accounts_receivable', 'accounts_payable', 'ar_days', 'ap_days']\n const specialCashFlowKeys = ['net_operating_activities', 'net_investing_activities', 'net_financing_activities', 'net_change_cash', 'operating_cash_flow', 'capital_expenditure', 'free_cash_flow']\n const peopleKpiMoneyKeys = ['total_revenue_per_employee', 'operating_expenses_net_income_per_employee', 'average_wages_and_salaries', 'average_benefits', 'cost_of_turnover', 'number_of_nurses', 'number_of_assistants', 'number_of_office_employees', 'number_of_doctors', 'number_of_hygienists', 'number_of_dentists']\n const peopleKpiT12 = ['total_revenue_per_employee', 'operating_expenses_net_income_per_employee', 'average_wages_and_salaries', 'average_benefits', 'cost_of_turnover', 'number_of_employees_who_left', 'sum_compensation_growth_rate', 'sum_compensation_per_employee', 'sum_health_insurance_per_employee', 'sum_payroll_per_employee', 'sum_retirement_per_employee', 'sum_subcontractors_growth_rate', 'sum_taxes_and_benefits_growth_rate', 'sum_taxes_and_benefits_per_employee', 'total_number_of_employees', 'training_per_employee', 'turnover_rate']\n const peoplePercentKeys = ['sum_compensation_growth_rate', 'sum_taxes_and_benefits_growth_rate', 'sum_subcontractors_growth_rate']\n const analysisPerCustomer = ['revenue_per_customer', 'gross_profit_per_customer', 'operating_expenses_net_income_per_customer']\n const customersPercentKeys = ['percent_of_sales_from_the_top_10_percent', 'percent_of_sales_from_the_top_25_percent', 'percent_of_sales_from_the_top_50_percent']\n let compareWord = '';\n let compareAvgAnnual = {}\n if (compareWith === 'Peers' || monthlyCompareWithTitle === 'Peers') {\n compareWord = 'peers'\n compareAvgAnnual = calcs['avg']\n } else if (compareWith === 'Practice') {\n compareWord = 'practice'\n compareAvgAnnual = calcs['practice_avg']\n } else if (compareWith === 'NSCHBC') {\n compareWord = 'NSCHBC peers'\n compareAvgAnnual = calcs['nschbc']\n } else if (compareWith === 'YOY') {\n compareWord = 'YOY'\n } else if (monthlyCompareWithTitle) {\n compareWord = monthlyCompareWithTitle\n }\n\n if (specialKeys.includes(metric.key)) {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n let key = metric.key;\n if (metric.key === 'total_revenue') {\n youAvg = calcs['you']['total_revenue_growth_rate'] ? calcs['you']['total_revenue_growth_rate'][year] : 0;\n compareAvg = compareAvgAnnual['total_revenue_growth_rate'] ? compareAvgAnnual['total_revenue_growth_rate'][year] : 0;\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = calcs['you']['total_revenue'][year - 1] * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n }\n if (metric.key === 'gross_profit') {\n youAvg = calcs['you']['gross_margin'] ? calcs['you']['gross_margin'][year] : 0\n compareAvg = compareAvgAnnual['gross_margin'] ? compareAvgAnnual['gross_margin'][year] : 0;\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = calcs['you']['total_revenue'][year] * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n }\n if (metric.key === 'operating_expenses_net_income') {\n youAvg = calcs['you']['profit_margin'] ? calcs['you']['profit_margin'][year] : 0;\n compareAvg = compareAvgAnnual['profit_margin'] ? compareAvgAnnual['profit_margin'][year] : 0;\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = calcs['you']['total_revenue'][year] * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n }\n if (metric.key === 'inventory' || metric.key === 'inventory_turnover_ratio') {\n key = 'inventory'\n youAvg = calcs['you']['inventory_turnover_ratio'] ? calcs['you']['inventory_turnover_ratio'][year] : 0;\n compareAvg = compareAvgAnnual['inventory_turnover_ratio'] ? compareAvgAnnual['inventory_turnover_ratio'][year] : 0;\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, 'decimal');\n let youInventory = calcs['you']['inventory'] ? calcs['you']['inventory'][year] : 0\n impactValue = ((360 / compareAvg) * (youInventory / (360 / youAvg))) - youInventory;\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValueKFI(youAvg, compareAvg, 'inventory_turnover_ratio')\n }\n\n if (metric.key === 'accounts_receivable' || metric.key === 'ar_days') {\n key = 'accounts_receivable'\n youAvg = calcs['you']['ar_days'] ? calcs['you']['ar_days'][year] : 0;\n compareAvg = compareAvgAnnual['ar_days'] ? compareAvgAnnual['ar_days'][year] : 0;\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, 'days');\n let accountsReceivable = calcs['you']['accounts_receivable'] ? calcs['you']['accounts_receivable'][year] : 0;\n impactValue = accountsReceivable - (compareAvg * (calcs['you']['total_revenue'][year] / 360));\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValueKFI(youAvg, compareAvg, 'ar_days')\n }\n\n if (metric.key === 'accounts_payable' || metric.key === 'ap_days') {\n key = 'accounts_payable'\n youAvg = calcs['you']['ap_days'] ? calcs['you']['ap_days'][year] : 0;\n compareAvg = compareAvgAnnual['ap_days'] ? compareAvgAnnual['ap_days'][year] : 0;\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, 'days');\n let accountsPayable = calcs['you']['accounts_payable'] ? calcs['you']['accounts_payable'][year] : 0;\n impactValue = accountsPayable - ((accountsPayable / youAvg) * compareAvg);\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValueKFI(youAvg, compareAvg, 'ap_days')\n }\n\n impactText = moneyText[key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = moneyText[key]['copy']\n }\n if (displayColumnsBy === 'Months' || displayColumnsBy === 'Years' && reportPeriod === 'Year to Date') {\n let key = metric.key;\n let avgExists, you, peer, previousYou, previousPeer, calcsUsed, useableMonths;\n const yoy = yoy_calcs.you || {};\n const previousYOY = previous_yoy_calcs.you || {};\n let numberOfMonths = 0;\n if (reportPeriod === 'Year to Date') {\n let calcYears = Object.keys(calcs);\n let currentYear = calcYears[1];\n let previousYear = calcYears[0];\n avgExists = Object.keys(calcs[currentYear].avg).length > 0 ? true : false;\n you = calcs[currentYear].you || {};\n peer = calcs[currentYear].avg || {};\n previousYou = calcs[previousYear].you || {};\n previousPeer = calcs[previousYear].avg || {};\n } else {\n avgExists = Object.keys(calcs.avg).length > 0 ? true : false;\n you = calcs.you || {};\n peer = calcs.avg || {};\n previousYou = previousYearCalcs.you || {};\n previousPeer = previousYearCalcs.avg || {};\n useableMonths = Object.values(you['cash'])\n useableMonths.forEach(thing => thing !== null ? numberOfMonths += 1 : null)\n }\n\n let compare = null;\n let previousCompare = null;\n\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compare = peer\n previousCompare = previousPeer\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compare = yoy\n previousCompare = previousYOY\n } else if (compareWith.includes('Forecast')) {\n compare = forecastVals\n previousCompare = previousYou\n }\n\n if (metric.key === 'total_revenue') {\n let youCurrentTotalRev = you.hasOwnProperty('total_revenue') ? Object.values(you['total_revenue']).reduce(sum, 0) : null;\n let youPreviousTotalRev = previousYou.hasOwnProperty('total_revenue') ? Object.values(previousYou['total_revenue']).reduce(sum, 0) : null;\n let compareCurrentTotalRev = compare.hasOwnProperty('total_revenue') ? Object.values(compare['total_revenue']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n let comparePreviousTotalRev = previousCompare.hasOwnProperty('total_revenue') ? Object.values(previousCompare['total_revenue']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n let youFinalValue = specialImpactCalcs('total_revenue', { currentRev: youCurrentTotalRev, prevRev: youPreviousTotalRev });\n let compareFinalValue = specialImpactCalcs('total_revenue', { currentRev: compareCurrentTotalRev, prevRev: comparePreviousTotalRev });\n\n let deltaValue = Math.abs((youFinalValue * 100) - (compareFinalValue * 100));\n let impactValue = youPreviousTotalRev ? youPreviousTotalRev * (youFinalValue - compareFinalValue) : 0\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n status = getRangeValue(youFinalValue, compareFinalValue, metric.key);\n }\n\n if (metric.key === 'gross_profit') {\n let youCurrentTotalRev = you.hasOwnProperty('total_revenue') ? Object.values(you['total_revenue']).reduce(sum, 0) : null;\n let compareCurrentTotalRev = compare.hasOwnProperty('total_revenue') ? Object.values(compare['total_revenue']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n let youCOGS = you.hasOwnProperty('total_costs') ? Object.values(you['total_costs']).reduce(sum, 0) : null;\n let compareCOGS = compare.hasOwnProperty('total_costs') ? Object.values(compare['total_costs']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n let youFinalValue = specialImpactCalcs('gross_profit', { currentRev: youCurrentTotalRev, cogs: youCOGS });\n let compareFinalValue = specialImpactCalcs('gross_profit', { currentRev: compareCurrentTotalRev, cogs: compareCOGS });\n\n let deltaValue = Math.abs((youFinalValue * 100) - (compareFinalValue * 100));\n let impactValue = youCurrentTotalRev ? youCurrentTotalRev * (youFinalValue - compareFinalValue) : 0\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n status = getRangeValue(youFinalValue, compareFinalValue, metric.key);\n }\n\n if (metric.key === 'operating_expenses_net_income') {\n let youCurrentTotalRev = you.hasOwnProperty('total_revenue') ? Object.values(you['total_revenue']).reduce(sum, 0) : null;\n let compareCurrentTotalRev = compare.hasOwnProperty('total_revenue') ? Object.values(compare['total_revenue']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n let youCurrentNetIncome = you.hasOwnProperty('operating_expenses_net_income') ? Object.values(you['operating_expenses_net_income']).reduce(sum, 0) : null;\n let compareCurrentNetIncome = compare.hasOwnProperty('operating_expenses_net_income') ? Object.values(compare['operating_expenses_net_income']).slice(0, numberOfMonths).reduce(sum, 0) : null;\n\n let youFinalValue = specialImpactCalcs('operating_expenses_net_income', { netIncome: youCurrentNetIncome, currentRev: youCurrentTotalRev });\n let compareFinalValue = specialImpactCalcs('operating_expenses_net_income', { netIncome: compareCurrentNetIncome, currentRev: compareCurrentTotalRev });\n\n deltaValue = Math.abs((youFinalValue * 100) - (compareFinalValue * 100));\n impactValue = youCurrentTotalRev ? youCurrentTotalRev * (youFinalValue - compareFinalValue) : 0\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n status = getRangeValue(youFinalValue, compareFinalValue, metric.key);\n }\n\n if (metric.key === 'inventory' || metric.key === 'inventory_turnover_ratio') {\n key = 'inventory'\n let youFinalValue, compareFinalValue, youInventory;\n if (reportPeriod === 'Year to Date') {\n youInventory = calculateKFIMetric('inventory', you);\n youFinalValue = calculateKFIMetric('inventory_turnover_ratio', you, previousYou);\n compareFinalValue = calculateKFIMetric('inventory_turnover_ratio', peer, previousPeer);\n } else {\n let newMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Inventory Turnover Ratio', you, previousYou)\n youInventory = you.inventory[numberOfMonths];\n let comparisonMonthlyAnalysisCalculatedValues = null;\n if (compareWith === 'YOY' && previousYOY || compareWith === 'Default:YOY') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Inventory Turnover Ratio', previousYou, previousYOY)\n } else if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Inventory Turnover Ratio', peer, previousPeer)\n } else if (compareWith.includes('Forecast')) {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Inventory Turnover Ratio', forecastVals, previousYou)\n }\n youFinalValue = newMonthlyAnalysisCalculatedValues ? newMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n compareFinalValue = comparisonMonthlyAnalysisCalculatedValues ? comparisonMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n }\n deltaValue = Math.abs(youFinalValue - compareFinalValue);\n deltaCommonSize = formatValue(deltaValue, 'decimal');\n status = getRangeValueKFI(youFinalValue, compareFinalValue, 'inventory_turnover_ratio');\n impactValue = ((360 / compareFinalValue) * (youInventory / (360 / youFinalValue))) - youInventory;\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n }\n\n if (metric.key === 'accounts_receivable' || metric.key === 'ar_days') {\n key = 'accounts_receivable'\n let youCurrentTotalRev = you.hasOwnProperty('total_revenue') ? Object.values(you['total_revenue']).reduce(sum, 0) : null;\n let youFinalValue, compareFinalValue;\n if (reportPeriod === 'Year to Date') {\n let youAccountsReceivable = calculateKFIMetric('accounts_receivable', you);\n youFinalValue = calculateKFIMetric('ar_days', you);\n compareFinalValue = calculateKFIMetric('ar_days', peer);\n impactValue = youAccountsReceivable - (compareFinalValue * (youCurrentTotalRev / 360));\n } else {\n let newMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Receivable Days', you, previousYou)\n let comparisonMonthlyAnalysisCalculatedValues = null;\n if (compareWith === 'YOY' && previousYOY || compareWith === 'Default:YOY') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Receivable Days', previousYou, previousYOY)\n } else if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Receivable Days', peer, previousPeer)\n } else if (compareWith.includes('Forecast')) {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Receivable Days', forecastVals, previousYou)\n }\n youFinalValue = newMonthlyAnalysisCalculatedValues ? newMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n compareFinalValue = comparisonMonthlyAnalysisCalculatedValues ? comparisonMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n impactValue = newMonthlyAnalysisCalculatedValues - (compareFinalValue * (youCurrentTotalRev / 360));\n }\n deltaValue = Math.abs(youFinalValue - compareFinalValue);\n deltaCommonSize = formatValue(deltaValue, 'roundedDecimal');\n status = getRangeValueKFI(youFinalValue, compareFinalValue, 'ar_days');\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n }\n\n if (metric.key === 'accounts_payable' || metric.key === 'ap_days') {\n key = 'accounts_payable'\n let youFinalValue, compareFinalValue;\n if (reportPeriod === 'Year to Date') {\n let youAccountsPayable = calculateKFIMetric('accounts_payable', you);\n youFinalValue = calculateKFIMetric('ap_days', you, previousYou);\n compareFinalValue = calculateKFIMetric('ap_days', peer, previousPeer);\n impactValue = youAccountsPayable - ((youAccountsPayable / youFinalValue) * compareFinalValue);\n } else {\n let newMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Payable Days', you, previousYou)\n let comparisonMonthlyAnalysisCalculatedValues = null;\n if (compareWith === 'YOY' && previousYOY || compareWith === 'Default:YOY') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Payable Days', previousYou, previousYOY)\n } else if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Payable Days', peer, previousPeer)\n } else if (compareWith.includes('Forecast')) {\n comparisonMonthlyAnalysisCalculatedValues = trailing12MonthCalculations('Accounts Payable Days', forecastVals, previousYou)\n }\n youFinalValue = newMonthlyAnalysisCalculatedValues ? newMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n compareFinalValue = comparisonMonthlyAnalysisCalculatedValues ? comparisonMonthlyAnalysisCalculatedValues[numberOfMonths] : null;\n impactValue = newMonthlyAnalysisCalculatedValues - ((newMonthlyAnalysisCalculatedValues / youFinalValue) * compareFinalValue);\n }\n deltaValue = Math.abs(youFinalValue - compareFinalValue);\n deltaCommonSize = formatValue(deltaValue, 'decimal');\n status = getRangeValueKFI(youFinalValue, compareFinalValue, 'ap_days');\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n }\n impactText = moneyText[key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = moneyText[key]['copy']\n }\n } else if (analysisPerCustomer.includes(metric.key)) {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? peersAnalysisPerCustomerVals(metric.key, year, compareAvgAnnual) : 0;\n deltaValue = Math.abs(100 - ((youAvg / compareAvg) * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = compareAvg - youAvg\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n if (displayColumnsBy === 'Years' && reportPeriod === 'Year to Date') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n const compareWithYTD = previousYearCalcs['monthly'][year]['avg']\n const compareWithPreviousYearCalcsYTD = previousYearCalcs['monthly'][year - 1]['avg']\n const compareWithPreviousYOYCalcsYTD = previousYearCalcs['monthly'][year - 2]['avg']\n\n const calcsCurrentYearYTDYou = previousYearCalcs['monthly'][year]['you']\n const previousYearCalcsYTDYou = previousYearCalcs['monthly'][year - 1]['you']\n const previous2YearsBackYTDYou = previousYearCalcs['monthly'][year - 2]['you']\n let youT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcsCurrentYearYTDYou, previousYearCalcsYTDYou, previous2YearsBackYTDYou)\n let compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, compareWithYTD, compareWithPreviousYearCalcsYTD, compareWithPreviousYOYCalcsYTD)\n let youAvg = youT12Obj?.[metric.key] && isFinite(youT12Obj[metric.key][lastMonthNumber]) ? youT12Obj[metric.key][lastMonthNumber] : 0\n let compareAvg = compareT12Obj?.[metric.key] && isFinite(compareT12Obj[metric.key][lastMonthNumber]) ? compareT12Obj[metric.key][lastMonthNumber] : 0\n deltaValue = Math.abs(100 - ((youAvg / compareAvg) * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = compareAvg - youAvg\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n if (displayColumnsBy === 'Months') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n let youT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.you, previousYearCalcs.you, previous_yoy_calcs.you)\n let compareT12Obj = null;\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.avg, previousYearCalcs.avg, previous_yoy_calcs.you)\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, previousYearCalcs.you, previous_yoy_calcs.you, calcs_3_years_back.you)\n }\n youAvg = youT12Obj?.[metric.key] && isFinite(youT12Obj[metric.key][lastMonthNumber]) ? youT12Obj[metric.key][lastMonthNumber] : 0\n compareAvg = compareT12Obj?.[metric.key] && isFinite(compareT12Obj[metric.key][lastMonthNumber]) ? compareT12Obj[metric.key][lastMonthNumber] : 0\n deltaValue = Math.abs(100 - ((youAvg / compareAvg) * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent');\n impactValue = compareAvg - youAvg\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n } else if (metric.key === 'number_of_new_customers_needed_to_maintain_growth') {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n deltaValue = youAvg - compareAvg\n deltaCommonSize = formatValue(deltaValue, 'roundedDecimal');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n\n if (displayColumnsBy === 'Years' && reportPeriod === 'Year to Date') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n const compareWithYTD = previousYearCalcs['monthly'][year]['avg']\n const compareWithPreviousYearCalcsYTD = previousYearCalcs['monthly'][year - 1]['avg']\n const compareWithPreviousYOYCalcsYTD = previousYearCalcs['monthly'][year - 2]['avg']\n\n const calcsCurrentYearYTDYou = previousYearCalcs['monthly'][year]['you']\n const previousYearCalcsYTDYou = previousYearCalcs['monthly'][year - 1]['you']\n const previous2YearsBackYTDYou = previousYearCalcs['monthly'][year - 2]['you']\n let youT12 = peopleCustomersT12Metrics('customers', metric.key, calcsCurrentYearYTDYou, previousYearCalcsYTDYou, previous2YearsBackYTDYou)\n let compareT12 = peopleCustomersT12Metrics('customers', metric.key, compareWithYTD, compareWithPreviousYearCalcsYTD, compareWithPreviousYOYCalcsYTD)\n let youAvg = youT12?.[metric.key] && isFinite(youT12[metric.key][lastMonthNumber]) ? youT12[metric.key][lastMonthNumber] : 0\n let compareAvg = compareT12?.[metric.key] && isFinite(compareT12[metric.key][lastMonthNumber]) ? compareT12[metric.key][lastMonthNumber] : 0\n deltaValue = youAvg - compareAvg\n deltaCommonSize = formatValue(deltaValue, 'roundedDecimal');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n\n if (displayColumnsBy === 'Months') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n let youT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.you, previousYearCalcs.you, previous_yoy_calcs.you)\n let compareT12Obj = null;\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.avg, previousYearCalcs.avg, previous_yoy_calcs.you)\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, previousYearCalcs.you, previous_yoy_calcs.you, calcs_3_years_back.you)\n }\n youAvg = youT12Obj?.[metric.key] && isFinite(youT12Obj[metric.key][lastMonthNumber]) ? youT12Obj[metric.key][lastMonthNumber] : 0\n compareAvg = compareT12Obj?.[metric.key] && isFinite(compareT12Obj[metric.key][lastMonthNumber]) ? compareT12Obj[metric.key][lastMonthNumber] : 0\n deltaValue = youAvg - compareAvg\n deltaCommonSize = formatValue(deltaValue, 'roundedDecimal');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n } else if (metric.key === 'total_customer_costs_common_size_revenue' || metric.key === 'customer_roi') {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n deltaValue = metric.key === 'total_customer_costs_common_size_revenue' ? (youAvg - compareAvg) * 100 : youAvg - compareAvg\n deltaCommonSize = formatValue(deltaValue, 'percent');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n\n if (displayColumnsBy === 'Years' && reportPeriod === 'Year to Date') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n const compareWithYTD = previousYearCalcs['monthly'][year]['avg']\n const compareWithPreviousYearCalcsYTD = previousYearCalcs['monthly'][year - 1]['avg']\n const compareWithPreviousYOYCalcsYTD = previousYearCalcs['monthly'][year - 2]['avg']\n\n const calcsCurrentYearYTDYou = previousYearCalcs['monthly'][year]['you']\n const previousYearCalcsYTDYou = previousYearCalcs['monthly'][year - 1]['you']\n const previous2YearsBackYTDYou = previousYearCalcs['monthly'][year - 2]['you']\n let youT12 = peopleCustomersT12Metrics('customers', metric.key, calcsCurrentYearYTDYou, previousYearCalcsYTDYou, previous2YearsBackYTDYou)\n let compareT12 = peopleCustomersT12Metrics('customers', metric.key, compareWithYTD, compareWithPreviousYearCalcsYTD, compareWithPreviousYOYCalcsYTD)\n let youAvg = youT12?.[metric.key] && isFinite(youT12[metric.key][lastMonthNumber]) ? youT12[metric.key][lastMonthNumber] : 0\n let compareAvg = compareT12?.[metric.key] && isFinite(compareT12[metric.key][lastMonthNumber]) ? compareT12[metric.key][lastMonthNumber] : 0\n deltaValue = (youAvg - compareAvg) * 100\n deltaCommonSize = formatValue(deltaValue, 'percent');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n\n if (displayColumnsBy === 'Months') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n let youT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.you, previousYearCalcs.you, previous_yoy_calcs.you)\n let compareT12Obj = null;\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, calcs.avg, previousYearCalcs.avg, previous_yoy_calcs.you)\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareT12Obj = peopleCustomersT12Metrics('customers', metric.key, previousYearCalcs.you, previous_yoy_calcs.you, calcs_3_years_back.you)\n }\n youAvg = youT12Obj?.[metric.key] && isFinite(youT12Obj[metric.key][lastMonthNumber]) ? youT12Obj[metric.key][lastMonthNumber] : 0\n compareAvg = compareT12Obj?.[metric.key] && isFinite(compareT12Obj[metric.key][lastMonthNumber]) ? compareT12Obj[metric.key][lastMonthNumber] : 0\n deltaValue = (youAvg - compareAvg) * 100\n deltaCommonSize = formatValue(deltaValue, 'percent');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n } else if (customersPercentKeys.includes(metric.key)) {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n let youTotalRevVal = calcs['you']['total_revenue'] ? calcs['you']['total_revenue'][year] : 0;\n let compareTotalRev = compareAvgAnnual['total_revenue'] ? compareAvgAnnual['total_revenue'][year] : 0;\n deltaValue = Math.abs(compareAvg - youAvg)\n deltaCommonSize = deltaValue.toFixed(1) + '%'\n impactValue = ((compareAvg / 100) * compareTotalRev) - ((youAvg / 100) * youTotalRevVal)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg, compareAvg, metric.key)\n impactText = customersText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n } else {\n // Percent of Sales only in Yearly/Annual Data\n deltaCommonSize = '0%'\n impactValueFormatted = '0%'\n impactText = customersText[metric.key].texts('maintain', impactValueFormatted, deltaCommonSize, compareWord)\n copy = customersText[metric.key]['copy']\n }\n } else {\n if (sheet === 'kpi_people') {\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n\n if (peopleKpiMoneyKeys.includes(metric.key)) {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n deltaValue = Math.abs(100 - ((youAvg / compareAvg) * 100))\n deltaCommonSize = formatValue(deltaValue, metric.format);\n impactValue = Math.abs(youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n } else if (peoplePercentKeys.includes(metric.key)) {\n let youTotalRevVal = calcs['you']['total_revenue'] ? calcs['you']['total_revenue'][year - 1] : 0;\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, metric.format);\n impactValue = Math.abs(youTotalRevVal * (deltaValue / 100))\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg / 100, compareAvg / 100, metric.key, metric.parentKey);\n } else if (metric.key === 'turnover_rate') {\n youAvg = calcs['you'][metric.key] && calcs['you'][metric.key][year] ? calcs['you'][metric.key][year] : 0;\n compareAvg = compareAvgAnnual[metric.key] && compareAvgAnnual[metric.key][year] ? compareAvgAnnual[metric.key][year] : 0;\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, metric.format);\n // no impact values for turnover_rate\n impactValueFormatted = 0\n status = getRangeValue(youAvg / 100, compareAvg / 100, metric.key, metric.parentKey)\n } else if (metric.key === 'cost_of_turnover') {\n // cost_of_turnover is only displayed for Years / Annual Data\n const lostProductivity = .2;\n const lostProductivityTime = .125;\n const lostWagesTime = .125;\n const employeeProductivityDecline = .5;\n const employeeProductivityDeclineTime = .185;\n\n if (calcs['you']['turnover_rate'][year] !== 0 && calcs['you']['total_number_of_employees'][year] !== 0 && calcs['you']['revenue_per_employee'][year] !== 0 && calcs['you']['average_wages_and_salaries'][year] !== 0) {\n youAvg = ((calcs['you']['turnover_rate'][year] - compareAvgAnnual['turnover_rate'][year])\n * (calcs['you']['total_number_of_employees'][year]\n * ((calcs['you']['revenue_per_employee'][year] * lostProductivity * lostProductivityTime)\n + (calcs['you']['average_wages_and_salaries'][year] * lostWagesTime)\n + ((calcs['you']['training'][year] * .25) / calcs['you']['total_number_of_employees'][year])\n + (calcs['you']['revenue_per_employee'][year] * employeeProductivityDecline * employeeProductivityDeclineTime))));\n } else {\n youAvg = 0;\n }\n\n if (compareAvgAnnual['turnover_rate'][year] !== 0 && compareAvgAnnual['total_number_of_employees'][year] !== 0 && compareAvgAnnual['revenue_per_employee'][year] !== 0 && compareAvgAnnual['average_wages_and_salaries'][year] !== 0) {\n compareAvg = ((compareAvgAnnual['turnover_rate'][year] - calcs['you']['turnover_rate'][year])\n * (compareAvgAnnual['total_number_of_employees'][year]\n * ((compareAvgAnnual['revenue_per_employee'][year] * lostProductivity * lostProductivityTime)\n + (compareAvgAnnual['average_wages_and_salaries'][year] * lostWagesTime)\n + ((compareAvgAnnual['training'][year] * .25) / compareAvgAnnual['total_number_of_employees'][year])\n + (compareAvgAnnual['revenue_per_employee'][year] * employeeProductivityDecline * employeeProductivityDeclineTime))));\n } else {\n compareAvg = 0;\n }\n\n deltaValue = Math.abs(youAvg - compareAvg)\n deltaCommonSize = formatValue(deltaValue, metric.format);\n impactValueFormatted = 0\n status = getRangeValue(youAvg, compareAvg, metric.key, metric.parentKey)\n }\n }\n\n if (displayColumnsBy === 'Months') {\n if (peopleKpiT12.includes(metric.key)) {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n let youT12Obj = peopleCustomersT12Metrics('people', metric.key, calcs.you, previousYearCalcs.you, previous_yoy_calcs.you)\n let compareT12Obj = null;\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareT12Obj = peopleCustomersT12Metrics('people', metric.key, calcs.avg, previousYearCalcs.avg, previous_yoy_calcs.you)\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareT12Obj = peopleCustomersT12Metrics('people', metric.key, previousYearCalcs.you, previous_yoy_calcs.you, calcs_3_years_back.you)\n }\n youAvg = youT12Obj?.[metric.key] && isFinite(youT12Obj[metric.key][lastMonthNumber]) ? youT12Obj[metric.key][lastMonthNumber] : 0\n compareAvg = compareT12Obj?.[metric.key] && isFinite(compareT12Obj[metric.key][lastMonthNumber]) ? compareT12Obj[metric.key][lastMonthNumber] : 0\n deltaValue = (youAvg - compareAvg) * 100\n deltaCommonSize = formatValue(deltaValue, 'percent');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n }\n }\n\n if (reportPeriod === 'Year to Date') {\n if (peopleKpiT12.includes(metric.key)) {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n const compareWithYTD = previousYearCalcs['monthly'][year]['avg']\n const compareWithPreviousYearCalcsYTD = previousYearCalcs['monthly'][year - 1]['avg']\n const compareWithPreviousYOYCalcsYTD = previousYearCalcs['monthly'][year - 2]['avg']\n\n const calcsCurrentYearYTDYou = previousYearCalcs['monthly'][year]['you']\n const previousYearCalcsYTDYou = previousYearCalcs['monthly'][year - 1]['you']\n const previous2YearsBackYTDYou = previousYearCalcs['monthly'][year - 2]['you']\n let youT12 = peopleCustomersT12Metrics('people', metric.key, calcsCurrentYearYTDYou, previousYearCalcsYTDYou, previous2YearsBackYTDYou)\n let compareT12 = peopleCustomersT12Metrics('people', metric.key, compareWithYTD, compareWithPreviousYearCalcsYTD, compareWithPreviousYOYCalcsYTD)\n let youAvg = youT12?.[metric.key] && isFinite(youT12[metric.key][lastMonthNumber]) ? youT12[metric.key][lastMonthNumber] : 0\n let compareAvg = compareT12?.[metric.key] && isFinite(compareT12[metric.key][lastMonthNumber]) ? compareT12[metric.key][lastMonthNumber] : 0\n deltaValue = (youAvg - compareAvg) * 100\n deltaCommonSize = formatValue(deltaValue, 'percent');\n // impact same as delta\n impactValueFormatted = deltaCommonSize\n status = getRangeValue(youAvg, compareAvg, metric.key)\n }\n }\n impactText = peopleText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord)\n copy = peopleText[metric.key]['copy']\n }\n\n if (sheet === 'pnl' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n // PNL impactValue = 'you' total_revenue * (you commonsize % - avg or compare commonsize %) \n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n const youTotalRevVal = calcs['you']['total_revenue'][year]\n youAvg = calcs['you'][metric.key + '_common_size_revenue'] ? calcs['you'][metric.key + '_common_size_revenue'][year] : null;\n compareAvg = compareAvgAnnual[metric.key + '_common_size_revenue'] ? compareAvgAnnual[metric.key + '_common_size_revenue'][year] : null;\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, metric.format);\n impactValue = youTotalRevVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n\n if (displayColumnsBy === 'Months') {\n let monthsAvailable = 0\n let useableMonths = Object.values(calcs['you']['cash'])\n useableMonths.forEach(thing => thing !== null ? monthsAvailable += 1 : null)\n const you = calcs['you'] ? calcs['you'][metric.key] : undefined;\n const avg = calcs['avg'] ? calcs['avg'][metric.key] : undefined;\n const yoy = yoy_calcs['you'] ? yoy_calcs['you'][metric.key] : undefined;\n const youTotalRevenue = calcs['you'] ? calcs['you']['total_revenue'] : undefined;\n const youTotalRevVals = MonthlyPNLandBalValues(monthsAvailable, sheet, 'total_revenue', youTotalRevenue, calcs['you']);\n const youTotalRevVal = youTotalRevVals.reduce((a, b) => a + b, 0)\n let youValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, you, calcs['you'])\n youAvg = MonthlyPNLandBalCommonSized(sheet, youValArr, calcs['you'])\n let compareValArr = null;\n\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, avg, calcs['avg'])\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, calcs['avg'])\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, yoy, yoy_calcs['you'])\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, yoy_calcs['you'])\n } else if (compareWith.includes('Forecast')) {\n const forecast = forecastVals ? forecastVals[metric.key] : undefined;\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, forecast, forecastVals)\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, forecastVals)\n }\n\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent')\n impactValue = youTotalRevVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n\n if (reportPeriod === 'Year to Date') {\n const currentYearNonMonthlyYTDYou = calcs[year] ? calcs[year]['you'][metric.key] : undefined;\n const currentYearNonMonthlyYTDPeers = calcs[year] ? calcs[year]['avg'][metric.key] : undefined;\n const youTotalRevVals = calcs[year] ? calcs[year]['you']['total_revenue'] : undefined;\n const youTotalRevVal = YTDPnlandBalValues(sheet, 'total_revenue', youTotalRevVals, calcs[year]['you'])\n youValue = YTDPnlandBalValues(sheet, metric.key, currentYearNonMonthlyYTDYou, calcs[year]['you'])\n compareValue = YTDPnlandBalValues(sheet, metric.key, currentYearNonMonthlyYTDPeers, calcs[year]['avg'])\n youAvg = YTDPnlandBalCommonSizeValue(youValue, sheet, calcs[year]['you'])\n compareAvg = YTDPnlandBalCommonSizeValue(compareValue, sheet, calcs[year]['avg'])\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent')\n impactValue = youTotalRevVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n impactText = moneyText[metric.key] ? moneyText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord) : null\n copy = moneyText[metric.key] ? moneyText[metric.key]['copy'] : null\n }\n\n if (sheet === 'balance_sheet' || sheet === 'cash_flow' && !specialCashFlowKeys.includes(metric.key)) {\n // Balance Sheet use 'you' total_assets * (you commonsize % - avg or compare commonsize %) = impactValue\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n const youTotalAssetsVal = calcs['you']['total_assets'][year]\n youAvg = calcs['you'][metric.key + '_common_size_assets'] ? calcs['you'][metric.key + '_common_size_assets'][year] : null;\n compareAvg = compareAvgAnnual[metric.key + '_common_size_assets'] ? compareAvgAnnual[metric.key + '_common_size_assets'][year] : null;\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, metric.format);\n impactValue = youTotalAssetsVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n\n if (displayColumnsBy === 'Months') {\n let monthsAvailable = 0\n let useableMonths = Object.values(calcs['you']['cash'])\n useableMonths.forEach(thing => thing !== null ? monthsAvailable += 1 : null)\n const you = calcs['you'] ? calcs['you'][metric.key] : undefined;\n const avg = calcs['avg'] ? calcs['avg'][metric.key] : undefined;\n const yoy = yoy_calcs['you'] ? yoy_calcs['you'][metric.key] : undefined;\n const youTotalAssetsVal = calcs['you']['total_assets'][monthsAvailable]\n let youValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, you, calcs['you'])\n youAvg = MonthlyPNLandBalCommonSized(sheet, youValArr, calcs['you'])\n let compareValArr = null;\n\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, avg, calcs['avg'])\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, calcs['avg'])\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, yoy, yoy_calcs['you'])\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, yoy_calcs['you'])\n } else if (compareWith.includes('Forecast')) {\n const forecast = forecastVals ? forecastVals[metric.key] : undefined;\n compareValArr = MonthlyPNLandBalValues(monthsAvailable, sheet, metric.key, forecast, forecastVals)\n compareAvg = MonthlyPNLandBalCommonSized(sheet, compareValArr, forecastVals)\n }\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent')\n impactValue = youTotalAssetsVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n\n if (reportPeriod === 'Year to Date') {\n const currentYearNonMonthlyYTDYou = calcs[year] ? calcs[year]['you'][metric.key] : undefined;\n const currentYearNonMonthlyYTDPeers = calcs[year] ? calcs[year]['avg'][metric.key] : undefined;\n const youTotalAssetsVal = YTDPnlandBalValues(sheet, 'total_assets', currentYearNonMonthlyYTDYou, calcs[year]['you'])\n youValue = YTDPnlandBalValues(sheet, metric.key, currentYearNonMonthlyYTDYou, calcs[year]['you'])\n compareValue = YTDPnlandBalValues(sheet, metric.key, currentYearNonMonthlyYTDPeers, calcs[year]['avg'])\n youAvg = YTDPnlandBalCommonSizeValue(youValue, sheet, calcs[year]['you'])\n compareAvg = YTDPnlandBalCommonSizeValue(compareValue, sheet, calcs[year]['avg'])\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n deltaCommonSize = formatValue(deltaValue, 'percent')\n impactValue = youTotalAssetsVal * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key, metric.parentKey);\n }\n impactText = moneyText[metric.key] ? moneyText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord) : null\n copy = moneyText[metric.key] ? moneyText[metric.key]['copy'] : null\n }\n\n if (sheet === 'cash_flow' && specialCashFlowKeys.includes(metric.key)) {\n function commonSizeValue(props) {\n let finalValue = null;\n let finalIndex = 0\n let totalRevenue = null\n\n if (props.numOfMonths) {\n totalRevenue = Object.values(props.passedCalcs['total_revenue']).slice(0, props.numOfMonths).reduce((a, b) => a + b, 0)\n } else {\n totalRevenue = Object.values(props.passedCalcs['total_revenue']).reduce((a, b) => a + b, 0)\n }\n\n if (Object.values(props.passedCalcs).length > 0) {\n const val = props.value;\n finalValue = (val / totalRevenue)\n }\n return finalValue\n }\n\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n let cashVals = AnnualCashFlowValues(calcs, calcsAvgType, yearRange, metric.key);\n youValue = cashVals[year]\n youAvg = cashVals['you' + year]\n compareAvg = cashVals['avg' + year]\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n impactValue = youValue * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n deltaCommonSize = formatValue(deltaValue, metric.format)\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key)\n }\n\n if (displayColumnsBy === 'Months') {\n const calcsYou = calcs.you;\n const calcsPeers = calcs.avg;\n const previousYearCalcsYou = previousYearCalcs.you;\n const previousYearCalcsPeers = previousYearCalcs.avg;\n const calcsYOYYou = yoy_calcs.you;\n const previousYOYYou = previous_yoy_calcs.you;\n let compareTotalValue, youTotalValue;\n let youValues, compareValues = null;\n let numOfMonths = Object.values(calcsYou['total_revenue']).filter(val => _.isNumber(val));\n\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n let cashFlowVals = MonthlyCashFlowValues(metric.key, calcsYou, previousYearCalcsYou, calcsPeers, previousYearCalcsPeers)\n youValues = cashFlowVals.youValues\n compareValues = cashFlowVals.compareValues\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n let cashFlowVals = MonthlyCashFlowValues(metric.key, calcsYou, previousYearCalcsYou, calcsYOYYou, previousYOYYou)\n youValues = cashFlowVals.youValues\n compareValues = cashFlowVals.compareValues\n } else if (compareWith.includes('Forecast')) {\n let cashFlowVals = MonthlyCashFlowValues(metric.key, calcsYou, previousYearCalcsYou, forecastVals, previousYearCalcsYou)\n youValues = cashFlowVals.youValues\n compareValues = cashFlowVals.compareValues\n }\n\n if (metric.key === 'cash_beginning_period') {\n compareTotalValue = compareValues ? compareValues[1] : null;\n youTotalValue = youValues ? youValues[1] : null;\n } else if (metric.key === 'cash_end_period') {\n let getAllValues = youValues ? Object.values(youValues) : 0;\n let indexOfNullValue = getAllValues.indexOf(null);\n compareTotalValue = compareValues && indexOfNullValue >= 0 ? compareValues[indexOfNullValue] : compareValues && compareValues.hasOwnProperty(12) ? compareValues[12] : null;\n youTotalValue = youValues && indexOfNullValue >= 0 ? youValues[indexOfNullValue] : youValues && youValues.hasOwnProperty(12) ? youValues[12] : null;\n } else {\n let numberOfKeys = youValues ? Object.keys(youValues).length : 0;\n if (numberOfKeys) {\n compareTotalValue = compareValues ? Object.values(compareValues).slice(0, numOfMonths.length).reduce((a, b) => a + b, 0) : null;\n youTotalValue = youValues ? Object.values(youValues).reduce((a, b) => a + b, 0) : null;\n }\n }\n youAvg = commonSizeValue({ value: youTotalValue, passedCalcs: calcsYou })\n\n if (compareWith === 'Peers' || compareWith === 'Default:Peers') {\n compareAvg = commonSizeValue({ value: compareTotalValue, passedCalcs: calcsPeers })\n } else if (compareWith === 'YOY' || compareWith === 'Default:YOY') {\n compareAvg = commonSizeValue({ value: compareTotalValue, passedCalcs: previousYearCalcsYou })\n } else if (compareWith.includes('Forecast')) {\n compareAvg = commonSizeValue({ value: compareTotalValue, passedCalcs: forecastVals, numOfMonths: numOfMonths.length })\n }\n\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n impactValue = youTotalValue * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n\n deltaCommonSize = formatValue(deltaValue, metric.format, sheet, metric.key)\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key)\n }\n\n if (reportPeriod === 'Year to Date') {\n const calcYearKeys = Object.keys(calcs);\n const previousYearCalcKeys = Object.keys(previousYearCalcs['monthly_full_year']);\n let oldYear, newYear;\n let previousOldFullYear = previousYearCalcKeys[0];\n let previousNewFullYear = previousYearCalcKeys[1];\n if (Number(calcYearKeys[1]) > Number(calcYearKeys[0])) {\n newYear = calcYearKeys[1];\n oldYear = calcYearKeys[0];\n } else {\n newYear = calcYearKeys[0];\n oldYear = calcYearKeys[1];\n }\n const calcsYou = calcs[newYear].you;\n const calcsPeers = calcs[newYear].avg;\n const previousYearCalcsYou = previousYearCalcs['monthly_full_year'][previousNewFullYear].you;\n const previousYearCalcsPeers = previousYearCalcs['monthly_full_year'][previousNewFullYear].avg;\n let newerYearVals = YTDCashFlowValues(metric.key, calcsYou, previousYearCalcsYou, calcsPeers, previousYearCalcsPeers);\n let newerYearYouVal = newerYearVals['youValue'];\n let newerYearCompareVal = newerYearVals['compareValue'];\n youAvg = commonSizeValue({ value: newerYearYouVal, passedCalcs: calcsYou })\n compareAvg = commonSizeValue({ value: newerYearCompareVal, passedCalcs: calcsPeers })\n deltaValue = Math.abs((youAvg * 100) - (compareAvg * 100))\n impactValue = youValue * (youAvg - compareAvg)\n impactValueFormatted = parseMoney(Math.abs(impactValue))\n\n deltaCommonSize = formatValue(deltaValue, metric.format, sheet, metric.key)\n status = getRangeValue(youAvg * 100, compareAvg * 100, metric.key)\n }\n impactText = moneyText[metric.key] ? moneyText[metric.key].texts(status, impactValueFormatted, deltaCommonSize, compareWord) : null\n copy = moneyText[metric.key] ? moneyText[metric.key]['copy'] : null\n }\n\n if (sheet === 'kfis') {\n let key = metric.key;\n\n if (key === 'ar_days') {\n key = 'accounts_receivable'\n } else if (key === 'ap_days') {\n key = 'accounts_payable'\n }\n\n if (displayColumnsBy === 'Years' && reportPeriod !== 'Year to Date') {\n let calcsAvgType = 'avg';\n if (compareWith === 'Practice') {\n calcsAvgType = 'practice_avg'\n } else if (compareWith === 'NSCHBC') {\n calcsAvgType = 'nschbc'\n }\n\n let kfiVal = AnnualKFIsValues(calcs, calcsAvgType, yearRange, metric.key);\n\n if (key === 'net_working_capital') {\n youValue = kfiVal[year]\n compareAvg = kfiVal['avg' + year]\n let youTotalAssets = calcs['you']['total_assets'][year]\n let youCommonSize = kfiVal[year] / youTotalAssets\n let compareCommonSize = compareAvg / youTotalAssets\n impactValueFormatted = parseMoney(Math.abs(youValue - compareAvg))\n deltaValue = Math.abs((youCommonSize * 100) - (compareCommonSize * 100))\n deltaCommonSize = `${deltaValue.toFixed(1)}%`\n status = getRangeValueKFI(youCommonSize, compareCommonSize, metric.key)\n } else if (key === 'days_cash_on_hand') {\n youValue = kfiVal[year]\n compareAvg = kfiVal['avg' + year]\n let youCash = calcs['you']['cash'][year]\n let compareCash = calcs[calcsAvgType]['cash'][year]\n deltaValue = Math.abs(youValue - compareAvg)\n deltaCommonSize = formatValue(deltaValue, 'days');\n let youDailyCash = youCash / youValue\n // Impact value is (Your # of Days Cash on Hand - Peers # of Days Cash on Hand) * Your Daily Cash\n impactValueFormatted = parseMoney(Math.abs(youDailyCash * deltaValue))\n status = getRangeValueKFI(youValue, compareAvg, metric.key)\n } else if (key === 'ebitda') {\n youValue = kfiVal[year]\n compareAvg = kfiVal['avg' + year]\n let youTotalRevenue = calcs['you']['total_revenue'][year]\n let youCommonSize = kfiVal[year] / youTotalRevenue\n let compareCommonSize = compareAvg / youTotalRevenue\n impactValueFormatted = parseMoney(Math.abs(youValue - compareAvg))\n deltaValue = Math.abs((youCommonSize * 100) - (compareCommonSize * 100))\n deltaCommonSize = `${deltaValue.toFixed(1)}%`\n status = getRangeValueKFI(youCommonSize, compareCommonSize, metric.key)\n } else {\n youValue = formatValue(kfiVal[year], metric.format, sheet, metric.key)\n compareAvg = kfiVal['avg' + year]\n impactValueFormatted = youValue\n deltaCommonSize = formatValue(kfiVal[year] - compareAvg, format, sheet, metric.key)\n status = getRangeValueKFI(kfiVal[year], compareAvg, metric.key)\n }\n }\n\n if (displayColumnsBy === 'Months') {\n let numberOfMonths = 0\n let useableMonths = Object.values(calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null ? numberOfMonths += 1 : null)\n let { youValues, compareValues, ytdYou, ytdCompare } = MonthlyKFIsValues(metric, numberOfMonths, compareWith, calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs, forecastVals)\n youValue = formatValue(ytdYou, metric.format, sheet, metric.key)\n compareValue = ytdCompare\n impactValueFormatted = youValue\n deltaCommonSize = formatValue(ytdYou - compareValue, format, sheet, metric.key)\n status = getRangeValueKFI(ytdYou, ytdCompare, metric.key)\n }\n\n if (reportPeriod === 'Year to Date') {\n let youValueInitial = calculateKFIMetric(metric.key, calcs[year]['you'], previousYearCalcs['monthly'][year - 1]['you'], previousYearCalcs['monthly_full_year'][year - 1]['you'])\n youValue = formatValue(youValueInitial, metric.format, sheet, metric.key)\n compareValue = calculateKFIMetric(metric.key, calcs[year]['avg'], previousYearCalcs['monthly'][year - 1]['avg'], previousYearCalcs['monthly_full_year'][year - 1]['avg'])\n impactValueFormatted = youValue\n deltaCommonSize = formatValue(youValueInitial - compareValue, format, sheet, metric.key)\n status = getRangeValueKFI(youValueInitial, compareValue, metric.key)\n }\n\n // Keep this total_revenue_growth_rate here\n if (key === 'total_revenue_growth_rate') {\n key = 'total_revenue'\n }\n\n impactText = moneyText[key] ? moneyText[key].texts(status, impactValueFormatted, deltaCommonSize, compareWord) : null;\n copy = moneyText[key] ? moneyText[key]['copy'] : null;\n }\n }\n\n return { copy, impactText, status, deltaCommonSize, impactValueFormatted };\n}\n\nconst impactBoxStatusColor = (status) => {\n // we calculate red and green\n switch (status) {\n case 'worst':\n return 'impact-box-worst'\n case 'worse':\n return 'impact-box-worse'\n case 'maintain':\n return 'impact-box-maintain'\n case 'better':\n return 'impact-box-better'\n case 'best':\n return 'impact-box-best'\n default:\n return 'impact-box-maintain'\n }\n}\n\nconst noSpecificTextMaker = (copy, status, impactValue, deltaValue, compareWith = 'Peers', monthlyCompareWithTitle = null) => {\n let compareWord = '';\n if (compareWith === 'Peers' || monthlyCompareWithTitle === 'Peers') {\n compareWord = 'peers'\n } else if (compareWith === 'Practice') {\n compareWord = 'practice'\n } else if (compareWith === 'NSCHBC') {\n compareWord = 'NSCHBC peers'\n } else if (compareWith === 'YOY') {\n compareWord = 'YOY'\n } else if (monthlyCompareWithTitle) {\n compareWord = monthlyCompareWithTitle\n }\n\n let modifyStatus = status;\n let finalText = ''\n if (modifyStatus === 'n/a') {\n return {\n 'text1': `No values present.`,\n 'text2': '',\n 'textNotesSection': ''\n }\n }\n if (modifyStatus === 'worst') {\n modifyStatus = 'much worse'\n }\n\n if (modifyStatus === 'best') {\n modifyStatus = 'much better'\n }\n\n if (modifyStatus === 'maintain') {\n finalText = 'Maintain Progress.'\n } else {\n finalText = `Your ${copy} is ${impactValue} which is potentially ${modifyStatus} compared to your ${compareWord}.`\n }\n\n return {\n 'text1': `Your ${copy} is ${deltaValue} different from your ${compareWord}.`,\n 'text2': finalText,\n 'textNotesSection': finalText\n }\n}\nexport { moneyText, buildImpactBox, impactBoxStatusColor, noSpecificTextMaker };","const COPY = {\n //peerviews\n wages_salaries: 'WAGES & SALARIES',\n mkt_spend: 'SPEND',\n mkt_roi: 'ROI',\n revenue_growth_rate_vs_net_profit3D: 'Revenue Growth Rate vs Net Profit',\n quadrant_growth_profitability: 'Growth & Profitability',\n quadrant_leverage_cash_flow: 'Leverage & Cash Flow',\n scatter_total_revenue_vs_growth_rate: 'Total Revenue Size vs Growth Rate',\n map_of_client_number: 'Where Your Clients Are Located',\n cash: 'Cash',\n total_revenue: 'Total Revenue',\n total_revenue_growth_rate: 'Revenue Growth Rate',\n total_costs: ' COGS',\n total_costs_common_size_revenue: 'COGS',\n total_people_costs: 'People',\n total_customer_costs: 'Customer',\n total_operating_expenses: 'OpEx',\n total_operating_expenses_common_size_revenue: 'OpEx',\n roa: 'ROA',\n roe: 'ROE',\n roce: 'ROCE',\n gross_margin: 'Gross Profit Margin',\n profit_margin: 'Net Profit Margin',\n profitability: 'Profitability',\n gross_profit: 'Gross Profit',\n current_ratio: 'Current Ratio',\n net_working_capital: 'Net Working Capital',\n net_working_capital_ratio: 'Net Working Capital Ratio',\n debt_to_equity: 'Debt-to-Equity',\n senior_debt_to_ebitda: 'Senior Debt/EBITDA',\n ebitda_to_annual_interest: 'EBITDA/Annual Interest',\n asset_turnover_ratio: 'Asset Turnover Ratio',\n inventory: 'Inventory',\n inventory_turnover_ratio: 'Inventory Turns',\n ar_days: 'Accounts Receivable Days',\n ap_days: 'Account Payable Days',\n ar_aging_summary: 'Accounts Receivable Aging Summary',\n ap_aging_summary: 'Accounts Payable Aging Summary',\n labor_costs: 'Labor',\n cogs_subcontractors: 'Subcontractors',\n materials_costs: 'COGS Materials',\n overhead: 'Overhead',\n transportation: 'Transportation',\n other_costs: 'Other',\n sales_and_marketing: 'Sales and Marketing',\n travel_entertainment_and_meals: 'Travel, Entertainment & Meals',\n customers_misc_professional_fees: 'Professional Fees - Customers',\n automobile_expenses: 'Automobile Expenses',\n bad_debt_expenses: 'Bad Debt Expenses',\n computer_related_costs: 'Computer Related Costs',\n contributions_and_donations: 'Contributions and Donations',\n insurance_expenses: 'Insurance Expense (non-health)',\n office_communications: 'Office Communications',\n office_expenses: 'Office Expense (non-facilities)',\n other_operating_expenses: 'Other Operating Expense',\n total_professional_fees: 'Professional Fees- Other',\n rent_and_facilities_costs: 'Rent and Facilities Costs',\n warranty_expense: 'Warranty Expense',\n operating_expenses_net_income: 'Net Income',\n total_compensation: 'Compensation',\n total_taxes_and_benefits: 'Taxes and Benefits',\n total_corporate_culture: 'Corporate Culture',\n subcontractor_expenses: 'Subcontractors',\n people_misc_professional_fees: 'Professional Fees (HR)',\n depreciation_and_amortization: 'Depreciation and Amoritization',\n interest_and_other_expenses: 'Interest and Other Expenses',\n total_revenue__0: 'Revenue Current Year',\n total_revenue__1: 'Revenue Previous Year',\n total_assets: 'Total Assets',\n total_current_assets: 'Current Assets',\n total_current_liabilities: 'Current Liabilities',\n net_worth: 'Net Worth',\n long_term_debt: 'Long Term Debt',\n current_portion_of_ltd: 'Current Portion LTD',\n line_of_credit: 'Line of Credit',\n other_income_expenses: 'Other Income Expenses',\n capital_stock: 'Capital Stock',\n owner_distributions: 'Owner Distributions',\n retained_earnings: 'Retained Earnings',\n inventory__0: 'Inventory Current Year',\n inventory__1: 'Inventory Previous Year',\n accounts_receivable: 'Accounts Receivable',\n accounts_payable: 'Accounts Payable',\n operating_profit: 'Operating Profit',\n\n // new accounts made from EditChartOfAccounts\n laboratory_fees: 'Laboratory Fees',\n medical_supplies: 'Medical Supplies',\n ['total_customer_costs_billings_& collections']: 'Billings and Collections',\n dental_supplies: 'Dental Supplies',\n ['total_operations_ops_- golf']: 'Ops Golf',\n ['total_operations_ops_- food & bev']: 'Ops Food and Beverage',\n ['total_operations_ops_- sporting activities']: 'Ops Sporting Activities',\n ['total_operations_ops_- clubhouse']: 'Ops Clubhouse',\n ['total_customer_costs_sales_& marketing']: 'Sales & Marketing',\n\n //people metrics\n operating_expenses_net_income_per_employee: 'Profit per Employee',\n sum_compensation_growth_rate: 'Compensation',\n sum_taxes_and_benefits_growth_rate: 'Benefits',\n sum_subcontractors_growth_rate: 'Use of Subcontractors',\n average_wages_and_salaries: 'Average Wages and Salaries Per Employee',\n average_benefits: 'Average Benefits Per Employee',\n cost_of_turnover: 'Cost of Turnover',\n total_number_of_employees: 'Number of Employees',\n total_compensation__people: 'OpEx Compensation',\n labor_cogs_compensation: 'COGS Compensation',\n labor_cogs_compensation__0: 'COGS Compensation Current Year',\n labor_cogs_compensation__1: 'COGS Compensation Previous Year',\n total_compensation__0: 'OpEx Compensation Current Year',\n total_compensation__1: 'OpEx Compensation Previous Year',\n total_taxes_and_benefits__0: 'OpEx Taxes and Benefits Current Year',\n total_taxes_and_benefits__1: 'OpEx Taxes and Benefits Previous Year',\n labor_cogs_taxes_and_benefits__0: 'COGS Taxes and Benefits Current Year',\n labor_cogs_taxes_and_benefits__1: 'COGS Taxes and Benefits Previous Year',\n cogs_subcontractors__0: 'COGS Subcontractors Current Year',\n cogs_subcontractors__1: 'COGS Subcontractors Previous Year',\n subcontractor_expenses__0: 'OpEx Subcontractors Current Year',\n subcontractor_expenses__1: 'OpEx Subcontractors Previous Year',\n other_corporate_culture: 'Other Corporate Culture',\n recruiting: 'Recruiting',\n training: 'Training',\n payroll_taxes: 'Payroll Tax',\n labor_cogs_taxes_and_benefits: 'COGS Taxes and Benefits',\n total_taxes_and_benefits__people: 'OpEx Taxes and Benefits',\n health_insurance: 'Health Insurance',\n retirement_plan: 'Retirement',\n other_taxes_and_benefits: 'Other',\n sum_compensation: 'Compensation',\n sum_retirement: 'Retirement',\n sum_payroll: 'Payroll Tax',\n sum_health_insurance: 'Healthcare',\n sum_subcontractors: 'Subcontractors',\n sum_other_benefits: 'Other Taxes and Benefits',\n total_people_expenses: 'Values Common Sized by Total People Costs',\n\n //turnover keys\n number_of_employees_who_left: 'Number of Employees Who Left',\n turnover_rate__you: 'Your Turnover Rate',\n turnover_rate__peers: 'Peer Turnover Rate',\n total_revenue_per_employee: 'Total Revenue Per Employee',\n revenue_per_employee: 'Revenue Per Employee',\n turnover_rate: 'Turnover Rate',\n lost_productivity__const: 'Lost Productivity',\n lost_productivity_time__const: 'Lost Productivity Time',\n lost_wages_time__const: 'Lost Wages Time',\n employee_productivity_decline__const: 'Employee Productivity Decline',\n employee_productivity_decline_time__const: 'Employee Productivity Decline Time',\n\n //customer keys\n total_number_of_customers: 'Number of Customers',\n total_customer_costs: 'Total Customer Costs',\n percent_of_sales_from_the_top_10_percent: 'Top 10%',\n percent_of_sales_from_the_top_25_percent: 'Top 25%',\n percent_of_sales_from_the_top_50_percent: 'Top 50%',\n number_of_new_customers_needed_to_maintain_growth: 'Growth Requirements',\n revenue_per_customer: 'Revenue Per Client',\n gross_profit_per_customer: 'Gross Profit Per Client',\n operating_expenses_net_income_per_customer: 'Net Profit Per Client',\n total_customer_costs_common_size_revenue: 'Marketing Spend',\n customer_roi: 'Marketing ROI',\n cltv_70: '70%',\n cltv_80: '80%',\n cltv_90: '90%',\n}\n\nfunction disableExportingAndCredits(highcharts_object) {\n highcharts_object.exporting = { enabled: false };\n highcharts_object.credits = { enabled: false };\n return highcharts_object;\n}\n\nexport { COPY, disableExportingAndCredits };\n\n","import { COPY } from './chart_helpers';\n\nconst fontsArr = [\"Lucida Grande\", \"Lucida Sans Unicode\", \"Arial\", \"sans-serif\"]\nconst gaugeKeys = {\n peerview_gauges: ['growth', 'profitability', 'liquidity', 'leverage', 'cash_flow'],\n people_peerview_gauges: ['hr_budget', 'wages_salaries', 'benefits', 'turnover', 'productivity'],\n customers_peerview_gauges: ['mkt_spend', 'volatility', 'concentration', 'mkt_roi', 'efficiency'],\n}\n\nconst keysToTitle = (key) => {\n return COPY[key] ? COPY[key].toUpperCase() : key.toUpperCase().split('_').join(' ');\n}\n\nconst randomColorArrayMaker = (number) => {\n let countDownNumber = 0\n const returnArr = []\n while (countDownNumber < number) {\n let color = '#';\n for (let i = 0; i < 6; i++) {\n const random = Math.random();\n const bit = (random * 16) | 0;\n color += (bit).toString(16);\n };\n returnArr.push(color)\n countDownNumber += 1\n }\n return returnArr\n};\n\nlet colorArray = randomColorArrayMaker(400);\n\nconst getIndustryLineChartOptions = (chart, data) => {\n return (\n {\n chart: {\n type: 'line',\n style: {\n fontFamily: fontsArr\n }\n },\n credits: {\n enabled: false\n },\n title: {\n text: chart.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n subtitle: {\n text: chart.subtitle,\n style: {\n fontSize: '12px'\n }\n },\n tooltip: {\n valueDecimals: 2,\n valueSuffix: '%',\n shared: true,\n pointFormatter: function () {\n return `\\u25CF ${this.series.name}: ${format(chart.format, this.y)}
    `\n },\n style: {\n stroke: \"none\",\n fontSize: '11px'\n }\n },\n xAxis: {\n title: {\n text: 'Year',\n style: {\n fontSize: '12px'\n }\n },\n categories: data['categories'],\n startOnTick: true,\n endOnTick: true,\n labels: {\n align: 'right',\n style: {\n fontSize: '11px'\n }\n },\n crosshair: {}\n },\n yAxis: {\n title: {\n enabled: false\n },\n labels: {\n enabled: true,\n formatter: function () {\n if (this.value) {\n let val = axisFormat(chart.format, this.value);\n return val;\n } else {\n return 0\n }\n },\n style: {\n fontSize: '11px'\n }\n },\n },\n plotOptions: {\n line: {\n dataLabels: {\n enabled: true,\n formatter: function () {\n return format(chart.format, this.y);\n },\n align: 'center',\n crop: false,\n allowOverlap: true,\n style: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '11px'\n }\n },\n lineWidth: 3\n }\n },\n series: data['seriesData'],\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\"\n }\n }\n }\n )\n};\n\nconst getIndustryBarChartOptions = (chart, data) => {\n // Need to give color to series in order to export/print charts with highcharts exporting module\n const barColor = {\n money: '#69B144',\n people: '#00AEEF',\n customers: '#542667'\n }\n\n return (\n {\n chart: {\n type: 'column',\n style: {\n fontFamily: fontsArr\n }\n },\n credits: {\n enabled: false\n },\n title: {\n text: chart.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n subtitle: {\n text: chart.subtitle,\n style: {\n fontSize: '12px'\n }\n },\n tooltip: {\n enabled: false,\n shared: true,\n valuePrefix: '',\n valueSuffix: '',\n valueDecimals: 0,\n },\n xAxis: {\n categories: data['categories'],\n labels: {\n align: 'center',\n reserveSpace: true,\n x: 0, y: 15\n }\n },\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: \"9px\",\n }\n },\n yAxis: {\n title: {\n enabled: false\n },\n labels: {\n enabled: false,\n },\n },\n plotOptions: {\n series: {\n dataLabels: {\n align: 'center',\n enabled: true,\n allowOverlap: true,\n crop: false,\n style: {\n stroke: \"none\",\n textOutline: \"none\",\n },\n formatter: function () {\n if (this.y) {\n return format(chart.format, this.y);\n } else {\n return \"\"\n }\n },\n }\n }\n },\n series: data['seriesData'],\n }\n )\n}\n\nconst getMultiDataBarChartOptions = (chartProps, rankingData) => {\n let data = rankingData[chartProps.metricKey]\n let xAxisCatergories = data.map(({ company_name }) => company_name.toString())\n let finalData = data.map((d) => { return d[chartProps.metricKey] });\n let max200Keys = ['liquidity', 'leverage', 'cash_flow'];\n return {\n chart: {\n zoomType: 'x',\n type: 'column',\n style: {\n fontFamily: fontsArr\n }\n },\n\n title: {\n text: chartProps.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n\n subtitle: {\n text: 'Zoom in and out',\n style: {\n fontSize: '12px'\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n enabled: false,\n },\n tooltip: {\n formatter: function () {\n let y = format(chartProps.format, this.y);\n return (this.x + \":\" + y);\n },\n style: {\n fontSize: '11px'\n }\n },\n xAxis: {\n categories: xAxisCatergories,\n labels: {\n style: {\n fontSize: '11px'\n }\n }\n },\n yAxis: {\n max: max200Keys.includes(chartProps.metricKey) ? 200 : null,\n title: {\n text: null\n },\n labels: {\n enabled: true,\n formatter: function () {\n if (this.value) {\n let val = axisFormat(chartProps.format, this.value);\n return val;\n } else {\n return 0\n }\n },\n style: {\n fontSize: '11px'\n }\n },\n },\n series: [{\n color: '#69b144',\n data: finalData,\n lineWidth: 0.5,\n }],\n\n }\n}\n\nconst get3DBubbleChartOptions = (chartProps, data) => {\n // Need to group by naics code\n let orderCompaniesByNaics = {};\n for (let i = 0; i < data.length; i++) {\n let naics = data[i]['naics'];\n if (orderCompaniesByNaics[naics]) {\n orderCompaniesByNaics[naics].push(data[i])\n } else {\n orderCompaniesByNaics[naics] = [data[i]]\n }\n }\n let finalSeries = [];\n let count = 0;\n for (let naics in orderCompaniesByNaics) {\n let dataAr = orderCompaniesByNaics[naics].map((c, i) => {\n let first = c[chartProps['keys'][0]];\n let second = c[chartProps['keys'][1]];\n return {\n color: colorArray[count],\n name: c.name,\n subdomain: c.subdomain,\n x: first,\n y: second,\n z: c.total_revenue,\n }\n });\n let returnObj = {\n name: naics,\n data: dataAr,\n marker: {\n fillColor: {\n radialGradient: { cx: 0.4, cy: 0.3, r: 0.7 },\n stops: [\n [0, 'rgba(255,255,255,0.5)'],\n [1, colorArray[count]]\n ]\n }\n }\n }\n count++;\n finalSeries.push(returnObj)\n }\n\n return (\n {\n chart: {\n type: 'bubble',\n plotBorderWidth: 1,\n zoomType: 'xy',\n style: {\n fontFamily: fontsArr\n }\n },\n title: {\n text: chartProps.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n legend: {\n borderWidth: 1,\n itemStyle: {\n fontSize: \"12px\",\n }\n },\n xAxis: {\n gridLineWidth: 1,\n title: {\n text: chartProps.x,\n style: {\n fontSize: '12px'\n }\n },\n labels: {\n formatter: function () {\n let point = format('percent', this.value)\n return point;\n },\n style: {\n fontSize: '11px'\n }\n }\n },\n yAxis: {\n startOnTick: false,\n endOnTick: false,\n title: {\n text: chartProps.y,\n style: {\n fontSize: '12px'\n }\n },\n labels: {\n formatter: function () {\n let point = format('percent', this.value)\n return point;\n },\n style: {\n fontSize: '11px'\n }\n }\n },\n series: finalSeries,\n tooltip: {\n useHTML: true,\n style: {\n padding: 0,\n pointerEvents: 'auto'\n },\n pointFormatter: function () {\n let x = format('percent', this.x);\n let y = format('percent', this.y);\n let z = format('money', this.z);\n let reportLink = hrefBuilder(this.subdomain, \"/reports/money\")\n let tooltipStr = `Client: ${this.name}
    Growth Rate: ${x}
    Net Profit: ${y}
    Total Revenue: ${z}
    Click Here to View Reports`;\n return tooltipStr;\n },\n },\n\n }\n )\n}\n\nconst getBubbleChartOptions = (chartProps, data) => {\n // Need to group by naics code\n let orderCompaniesByNaics = {};\n for (let i = 0; i < data.length; i++) {\n let naics = data[i]['naics'];\n if (orderCompaniesByNaics[naics]) {\n orderCompaniesByNaics[naics].push(data[i])\n } else {\n orderCompaniesByNaics[naics] = [data[i]]\n }\n }\n let finalSeries = [];\n let count = 0;\n for (let naics in orderCompaniesByNaics) {\n let dataAr = orderCompaniesByNaics[naics].map((c, i) => {\n let first = c[chartProps['keys'][0]];\n let second = c[chartProps['keys'][1]];\n return {\n x: first,\n y: second,\n z: c.total_revenue,\n name: c.company.name,\n color: colorArray[count]\n }\n })\n\n let returnObj = {\n name: naics,\n data: dataAr,\n }\n count++;\n finalSeries.push(returnObj)\n }\n\n return (\n {\n chart: {\n type: 'bubble',\n plotBorderWidth: 1,\n zoomType: 'xy',\n style: {\n fontFamily: fontsArr\n }\n },\n colors: colorArray,\n title: {\n text: chartProps.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n series: finalSeries,\n xAxis: {\n gridLineWidth: 1,\n title: {\n text: chartProps.x\n },\n labels: {\n formatter: function () {\n let point = format('percent', this.value)\n return point;\n }\n },\n },\n yAxis: {\n startOnTick: false,\n endOnTick: false,\n title: {\n text: chartProps.y\n },\n labels: {\n formatter: function () {\n let point = format('percent', this.value)\n return point;\n }\n },\n maxPadding: 0.2,\n },\n tooltip: {\n useHTML: true,\n pointFormatter: function () {\n let x = format('percent', this.x);\n let y = format('percent', this.y);\n let z = format('money', this.z);\n let tooltipStr = `Client: ${this.name}
    Net Profit: ${x}
    Growth Rate: ${y}
    Total Revenue: ${z}`;\n return tooltipStr;\n },\n },\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true,\n format: '{point.name}'\n }\n }\n },\n })\n}\n\nconst hrefBuilder = (subdomain, path) => {\n const domainSplit = document.location.host.split(\".\");\n domainSplit[0] = subdomain;\n return location.protocol + \"//\" + domainSplit.join(\".\") + path;\n};\n\nconst getQuadrantOptions = (chartProps, data) => {\n const pdfTitleStyle = chartProps.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfLabelStyle = chartProps.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n const pdfPlotStyle = chartProps.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n // Need to group by naics code\n let finalSeries = [\n { // next four series are for color\n type: 'area',\n fillOpacity: 0.01,\n color: '#fff',\n data: [[-10, 210], [100, 210]],\n enableMouseTracking: false,\n lineWidth: 1,\n marker: {\n enabled: false,\n },\n stacking: 'normal',\n showInLegend: false,\n },\n {\n type: 'area',\n fillOpacity: 0.3,\n color: '#DBDBDB',\n data: [[100, 210], [210, 210]],\n enableMouseTracking: false,\n lineWidth: 1,\n marker: {\n enabled: false,\n },\n stacking: 'normal',\n showInLegend: false,\n },\n {\n type: 'area',\n fillOpacity: 0.01,\n color: '#fff',\n data: [[100, 100], [210, 100]],\n enableMouseTracking: false,\n lineWidth: 1,\n marker: {\n enabled: false,\n },\n stacking: 'normal',\n showInLegend: false,\n },\n {\n type: 'area',\n fillOpacity: 0.3,\n color: '#DBDBDB',\n data: [[-10, 100], [100, 100]],\n enableMouseTracking: false,\n lineWidth: 1,\n marker: {\n enabled: false,\n },\n stacking: 'normal',\n showInLegend: false,\n }];\n\n if (chartProps.page === 'practice') {\n let orderCompaniesByNaics = {};\n for (let i = 0; i < data.length; i++) {\n let naics = data[i]['naics'];\n if (orderCompaniesByNaics[naics]) {\n orderCompaniesByNaics[naics].push(data[i])\n } else {\n orderCompaniesByNaics[naics] = [data[i]]\n }\n }\n let count = 0;\n for (let naics in orderCompaniesByNaics) {\n let dataAr = orderCompaniesByNaics[naics].map((c, i) => {\n let first = c[chartProps['keys'][0]];\n let second = c[chartProps['keys'][1]];\n return {\n color: colorArray[count],\n name: c.name,\n subdomain: c.subdomain,\n x: first,\n y: second,\n z: c.total_revenue,\n }\n })\n\n let returnObj = {\n name: naics,\n data: dataAr,\n }\n count++;\n finalSeries.push(returnObj)\n }\n }\n\n if (chartProps.page === 'money') {\n finalSeries.push(data)\n }\n\n return (\n {\n chart: {\n type: 'bubble',\n renderTo: 'container',\n colors: colorArray,\n defaultSeriesType: 'bubble',\n zoomType: 'xy',\n marginLeft: 90,\n marginRight: 50,\n backgroundColor: '#fff',\n plotBackgroundColor: '#fff',\n style: {\n fontFamily: fontsArr\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n enabled: chartProps.pdf ? false : true,\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n legend: {\n enabled: false\n },\n title: {\n text: chartProps.title,\n style: pdfTitleStyle\n },\n tooltip: {\n useHTML: true,\n style: {\n padding: 0,\n pointerEvents: 'auto'\n },\n formatter: function () {\n let x = Math.round(this.x);\n let y = Math.round(this.y);\n let z = format('money', this.point.z);\n let reportLink = this.point.subdomain ? hrefBuilder(this.point.subdomain, \"/reports/money\") : null;\n let reportHTML = reportLink ? `
    Click Here to View Reports` : '';\n let tooltipStr = `${this.series.name}
    ${chartProps.x}: ${x}, ${chartProps.y}: ${y}
    Total Revenue: ${z}` + reportHTML;\n return tooltipStr;\n },\n },\n plotOptions: {\n series: {\n shadow: false,\n dataLabels: {\n enabled: true,\n format: '{point.name}',\n style: pdfPlotStyle,\n }\n },\n line: {\n marker: {\n enabled: false\n }\n }\n },\n xAxis: {\n title: {\n text: chartProps.x,\n style: pdfLabelStyle\n },\n labels: {\n formatter: function () {\n if (this.value === 50) {\n return 'Low';\n } else if (this.value === 150) {\n return 'High';\n } else {\n return this.value;\n }\n },\n style: pdfLabelStyle\n },\n min: 0,\n max: 200,\n tickInterval: 50,\n minorTickInterval: 10,\n gridLineWidth: 1,\n showFirstLabel: false,\n showLastLabel: true,\n lineColor: '#fff',\n lineWidth: 1,\n gridZIndex: 0,\n },\n yAxis: {\n title: {\n text: chartProps.y,\n style: pdfLabelStyle\n },\n labels: {\n formatter: function () {\n if (this.value === 50) {\n return 'Low';\n } else if (this.value === 150) {\n return 'High';\n } else {\n return this.value;\n }\n },\n style: pdfLabelStyle\n },\n min: 0,\n max: 200,\n tickInterval: 50,\n minorTickInterval: 10,\n lineColor: '#fff',\n lineWidth: 1,\n gridZIndex: 0,\n },\n series: finalSeries\n })\n}\n\nconst getScatterPlotOptions = (chartProps, data) => {\n // Need to group by naics code\n let orderCompaniesByNaics = {};\n for (let i = 0; i < data.length; i++) {\n let naics = data[i]['naics'];\n if (orderCompaniesByNaics[naics]) {\n orderCompaniesByNaics[naics].push(data[i])\n } else {\n orderCompaniesByNaics[naics] = [data[i]]\n }\n }\n\n let finalSeries = [];\n let count = 0;\n for (let naics in orderCompaniesByNaics) {\n let dataObj = orderCompaniesByNaics[naics].map((c, i) => {\n let first = c[chartProps['keys'][0]];\n let second = c[chartProps['keys'][1]];\n let subDomain = c.subdomain;\n return {\n x: first,\n y: second,\n name: c.name,\n subdomain: subDomain\n }\n })\n let returnObj = {\n name: naics,\n data: dataObj,\n color: colorArray[count],\n }\n count++;\n finalSeries.push(returnObj)\n }\n\n return (\n {\n chart: {\n type: 'scatter',\n zoomType: 'xy',\n style: {\n fontFamily: fontsArr\n }\n },\n title: {\n text: chartProps.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n credits: {\n enabled: false\n },\n xAxis: {\n title: {\n enabled: true,\n text: chartProps.x,\n style: {\n fontSize: '12px'\n }\n },\n labels: {\n formatter: function () {\n if (this.value >= 0) {\n return '$' + this.axis.defaultLabelFormatter.call(this);\n } else {\n this.value = Math.abs(this.value)\n return '-$' + this.axis.defaultLabelFormatter.call(this);\n }\n },\n style: {\n fontSize: '11px'\n }\n },\n startOnTick: true,\n endOnTick: true,\n showLastLabel: true,\n },\n yAxis: {\n title: {\n text: chartProps.y,\n style: {\n fontSize: '12px'\n }\n },\n labels: {\n formatter: function () {\n let point = format('percent', this.value)\n return point;\n },\n style: {\n fontSize: '11px'\n }\n },\n },\n legend: {\n borderWidth: 1,\n itemStyle: {\n fontSize: \"12px\",\n }\n },\n series: finalSeries,\n plotOptions: {\n scatter: {\n marker: {\n radius: 5,\n states: {\n hover: {\n enabled: true,\n lineColor: 'rgb(100,100,100)'\n }\n }\n },\n states: {\n hover: {\n marker: {\n enabled: false\n }\n }\n },\n }\n },\n tooltip: {\n useHTML: true,\n style: {\n padding: 0,\n pointerEvents: 'auto'\n },\n pointFormatter: function () {\n let x = format('money', this.x);\n let y = format('percent', this.y);\n let reportLink = hrefBuilder(this.subdomain, \"/reports/money\")\n let tooltipStr = `Client Name: ${this.name}
    ${chartProps.x}: ${x}
    ${chartProps.y}: ${y}
    Click Here to View Reports`;\n return tooltipStr;\n },\n }\n }\n )\n}\n\nconst getPNLComboOptions = (chart, youData = []) => {\n const pdfTitleStyle = chart.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfLabelStyle = chart.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n\n return (\n {\n title: {\n text: 'P&L View',\n style: pdfTitleStyle\n },\n credits: {\n enabled: false\n },\n exporting: {\n enabled: chart.pdf ? false : true,\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000',\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n xAxis: {\n categories: chart.categories,\n startOnTick: true,\n endOnTick: true,\n labels: {\n align: 'center',\n style: pdfLabelStyle\n },\n crosshair: {}\n },\n yAxis: {\n min: null,\n title: {\n enabled: false\n },\n labels: {\n formatter: function () {\n return '$' + this.axis.defaultLabelFormatter.call(this);\n },\n style: pdfLabelStyle\n },\n },\n tooltip: {\n shared: true,\n formatter: function () {\n let tooltipHtml = `${this.x}
    `; // Add category (x-axis label)\n this.points.forEach(point => {\n let value = format('money', point.y)\n tooltipHtml += `\n \\u25CF \n ${point.series.name}: ${value}
    \n `;\n });\n return tooltipHtml;\n },\n style: pdfLabelStyle,\n },\n legend: {\n backgroundColor: 'white',\n borderColor: '#CCC',\n borderWidth: 1,\n shadow: false,\n itemStyle: pdfLabelStyle,\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n dataLabels: {\n enabled: true,\n style: pdfLabelStyle,\n formatter: function () {\n return format('money', this.y)\n }\n },\n },\n spline: {\n dataLabels: {\n enabled: true,\n style: pdfLabelStyle,\n formatter: function () {\n return format('money', this.y)\n },\n },\n lineWidth: 3,\n marker: {\n enabled: true, // Highlight spline points\n },\n }\n },\n series: youData\n }\n )\n}\n\nconst getTrendChart = (chart) => {\n const pdfTitleStyle = chart.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfLabelStyle = chart.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n const monthlyData = chart.monthlyData\n const startYear = chart.year - 4;\n const endYear = chart.year;\n\n let selectedYears = Object.entries(monthlyData).filter(([yearStr]) => {\n const year = parseInt(yearStr, 10);\n return year >= startYear && year <= endYear;\n }).sort(([a], [b]) => parseInt(a) - parseInt(b))\n const series = selectedYears.map(([year, months]) => {\n const data = Array(12).fill(null).map((_, index) => {\n const month = index + 1;\n return months[month] !== undefined ? months[month] : null;\n });\n\n return {\n name: year,\n data,\n type: 'spline',\n marker: {\n enabled: false\n }\n };\n });\n\n return (\n {\n title: {\n text: chart.title,\n style: pdfTitleStyle\n },\n credits: {\n enabled: false\n },\n exporting: {\n enabled: chart.pdf ? false : true,\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n chart: {\n type: \"spline\"\n },\n xAxis: {\n categories: chart.months,\n labels: {\n style: pdfLabelStyle\n }\n },\n yAxis: {\n min: null,\n title: {\n enabled: false\n },\n labels: {\n formatter: function () {\n return '$' + this.axis.defaultLabelFormatter.call(this);\n },\n style: pdfLabelStyle\n },\n },\n tooltip: {\n shared: true,\n formatter: function () {\n let tooltipHtml = `${this.x}
    `; // Add category (x-axis label)\n this.points.forEach(point => {\n let value = format('money', point.y)\n tooltipHtml += `\n \\u25CF \n ${point.series.name}: ${value}
    \n `;\n });\n return tooltipHtml;\n },\n style: pdfLabelStyle,\n },\n legend: {\n layout: \"horizontal\",\n align: \"center\",\n verticalAlign: \"bottom\",\n itemStyle: pdfLabelStyle,\n },\n series\n }\n )\n}\n\nconst getGaugeOptions = (metricKey, data, pdf = false) => {\n let gaugeTitle = keysToTitle(metricKey);\n const pdfSubTitleStyle = pdf ? { fontSize: '0.8em', fontWeight: 'normal' } : { fontSize: '12px', fontWeight: 'normal' }\n // prevent blending the stops colors too much\n return (\n {\n chart: {\n type: \"solidgauge\",\n reflow: true,\n style: {\n fontFamily: fontsArr\n }\n },\n credits: {\n enabled: false\n },\n tooltip: {\n enabled: false\n },\n exporting: {\n enabled: false,\n },\n title: null,\n series: [\n {\n name: gaugeTitle,\n data: [data],\n dataLabels: {\n format:\n '
    ' +\n '{y}
    ' +\n \"
    \",\n y: 1,\n style: pdfSubTitleStyle\n }\n }\n ],\n pane: {\n center: [\"50%\", \"85%\"],\n size: \"100%\",\n startAngle: -90,\n endAngle: 90,\n background: {\n backgroundColor: \"#EEE\",\n innerRadius: \"60%\",\n outerRadius: \"100%\",\n shape: \"arc\"\n }\n },\n yAxis: {\n minColor: \"#DF5353\",\n maxColor: \"#55BF3B\",\n stops: [\n [0.2, '#DF5353'], // red\n [0.25, '#DDDF0D'], // yellow\n [0.3, '#DDDF0D'],\n [0.4, '#55BF3B'], // green\n [0.45, '#55BF3B'],\n [0.5, '#55BF3B'], // green\n [0.55, '#55BF3B'],\n [0.6, '#55BF3B'], // green\n [0.7, '#DDDF0D'], // yellow\n [0.79, '#DDDF0D'],\n [0.8, '#DF5353'], // red\n [0.9, '#DF5353']\n ],\n lineWidth: 0,\n min: 0,\n max: 200,\n tickWidth: 0,\n minorTickInterval: null,\n tickAmount: 2,\n title: {\n text: gaugeTitle,\n color: \"#ffffff\",\n y: -60,\n style: {\n fontSize: '12px'\n }\n },\n labels: {\n distance: \"80%\",\n y: 16,\n style: {\n fontSize: '12px'\n }\n }\n },\n plotOptions: {\n series: {\n animation: {\n duration: 2000\n }\n },\n solidgauge: {\n dataLabels: {\n y: 5,\n borderWidth: 0,\n useHTML: true\n }\n }\n }\n }\n )\n}\n\nconst buildDonutData = (donut) => {\n const series = {\n parents: [],\n children: []\n }\n let data = donut.data;\n let parentTotal = 0;\n\n let keys = {\n 'Money': ['automobile_expenses', 'bad_debt_expenses', 'computer_related_costs', 'contributions_and_donations', 'insurance_expenses', 'office_communications', 'office_expenses', 'other_operating_expenses', 'total_professional_fees', 'rent_and_facilities_costs', 'warranty_expense'],\n 'People': ['total_compensation', 'total_taxes_and_benefits', 'total_corporate_culture', 'subcontractor_expenses', 'people_misc_professional_fees'],\n 'Customers': ['sales_and_marketing', 'travel_entertainment_and_meals', 'customers_misc_professional_fees'],\n 'COGS': ['labor_costs', 'cogs_subcontractors', 'materials_costs', 'overhead', 'transportation', 'other_costs'],\n 'Net Income': ['operating_expenses_net_income'],\n }\n\n Highcharts.setOptions({\n colors: ['#69B144', '#00AEEF', '#542667', '#999999', '#737373', '#FFB74D']\n });\n const colors = Highcharts.getOptions().colors;\n\n Object.keys(keys).forEach((parentKey, i) => {\n let total = 0;\n const childLen = keys[parentKey].length;\n\n keys[parentKey].forEach((child, j) => {\n let key, title;\n let value = 0;\n\n if (typeof child == 'object') {\n const { title, key } = child;\n } else {\n key = child;\n title = COPY[key];\n }\n\n try {\n value = data[`${key}_common_size_${donut.commonSize}`][donut.year];\n } catch (err) {\n if (err.name !== 'TypeError') {\n console.log(err, 'err')\n throw (err)\n }\n }\n\n total += value;\n let brightness = 0.05 + (j / childLen) / 4;\n let childColor = Highcharts.Color(colors[i]).brighten(brightness).get()\n series.children.push({ name: title, y: value, parent: i, ratio: j / childLen, color: childColor })\n })\n parentTotal += total;\n if (total > 0) {\n series.parents.push({ y: Math.abs(total), negative: false, name: parentKey, color: colors[i] })\n }\n })\n const other = 1 - parentTotal;\n const otherCosts = otherCosts < 0 ? 0 : other;\n series.parents.push({ y: otherCosts, negative: false, name: 'Other', color: '#FFB74D' })\n series.children.push({ name: 'Other', y: otherCosts, parent: 5, ratio: 0 })\n return series;\n}\n\nconst getDonutOptions = (donut) => {\n const donutData = buildDonutData(donut);\n\n return (\n {\n chart: {\n type: 'pie',\n style: {\n fontFamily: fontsArr\n }\n },\n credits: {\n enabled: false\n },\n title: {\n text: 'Industry Expenses',\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n subtitle: {\n text: '(As a Percentage of Total Revenue)',\n style: {\n fontSize: '12px'\n }\n },\n plotOptions: {\n pie: {\n shadow: false,\n center: ['50%', '50%'],\n },\n series: {\n states: {\n inactive: {\n opacity: 1\n },\n hover: {\n enabled: false\n }\n }\n },\n },\n tooltip: {\n pointFormatter: function () {\n return (this.negative ? \"-\" : \"\") + ((this.y * 100).toFixed(4)) + '%';\n },\n borderColor: \"none\",\n style: {\n stroke: \"none\",\n fontSize: '11px'\n }\n },\n series: [{\n data: donutData.parents,\n size: '60%',\n dataLabels: {\n formatter: function () {\n return this.point.name;\n },\n color: '#ffffff',\n connectorLine: '#fff',\n distance: -30,\n style: {\n fontSize: '11px'\n }\n }\n }, {\n data: donutData.children,\n size: '80%',\n innerSize: '80%',\n dataLabels: {\n formatter: function () {\n return this.y > .005 ? '' + this.point.name + ': ' +\n ((this.y * 100).toFixed(2)) + '%' : null;\n },\n style: {\n fontSize: '11px'\n }\n },\n }],\n }\n )\n}\n\nconst buildDrilldownData = (pie) => {\n const series = {\n parents: [],\n children: []\n }\n\n Object.keys(pie.keys).forEach((parentKey, i) => {\n series.children.push({ name: parentKey, id: parentKey, data: [], colorByPoint: true })\n pie.keys[parentKey].forEach((child) => {\n let key, title, value;\n if (typeof child == 'object') {\n title = child.title;\n key = child.key;\n } else {\n key = child;\n title = COPY[key];\n }\n if (pie.displayColumnsBy === 'Years' && pie.reportPeriod !== 'Year to Date') {\n value = pie.data[`${key}_common_size_${pie.commonSize}`] && pie.data[`${key}_common_size_${pie.commonSize}`][pie.year] ? pie.data[`${key}_common_size_${pie.commonSize}`][pie.year] : 0;\n }\n if (pie.displayColumnsBy === 'Years' && pie.reportPeriod === 'Year to Date') {\n let totalRevenueValue = 0;\n if (pie.data['total_revenue']) {\n totalRevenueValue = Object.values(pie.data['total_revenue'] || {}).reduce((a, b) => a + b, 0);\n }\n let totalValue = 0;\n if (pie.data[key]) {\n totalValue = Object.values(pie.data[key] || {}).reduce((a, b) => a + b, 0);\n }\n let percentValue = totalValue / totalRevenueValue;\n value = percentValue ? percentValue : 0;\n }\n if (pie.displayColumnsBy === 'Months') {\n let totalRevenueValue = Object.values(pie.data['total_revenue'] || {}).reduce((a, b) => a + b, 0);\n let totalValue = 0;\n if (pie.data[key]) {\n totalValue = Object.values(pie.data[key] || {}).reduce((a, b) => a + b, 0);\n }\n let percentValue = totalValue / totalRevenueValue;\n value = percentValue ? percentValue : 0;\n }\n\n series.children[i].data.push([title, value])\n })\n const total = series.children[i].data.reduce((acc, cur) => {\n return acc + cur[1];\n }, 0);\n series.parents.push({ y: total, negative: total < 0, drilldown: parentKey, name: parentKey, color: '#00AEEF' })\n })\n const parentTotal = series.parents.reduce((acc, cur) => {\n return cur.negative ? acc - cur.y : acc + cur.y;\n }, 0);\n\n if (pie.page !== 'people') {\n const other = 1 - parentTotal;\n const otherCosts = otherCosts < 0 ? 0 : other;\n series.parents.push({ y: otherCosts, negative: false, drilldown: 'Other', name: 'Other' })\n series.children.push({ name: 'Other', id: 'Other', data: ['Other', otherCosts] })\n }\n\n return series\n}\n\nconst getPieOptions = (pie) => {\n const pieData = buildDrilldownData(pie);\n const pieColors = {\n money: ['#69B144', '#00AEEF', '#542667', '#999999', '#737373', '#FFB74D'],\n people: ['#00AEEF', '#71cff3', '#dceef4', '#3a9ec3', '#737373']\n }\n const pdfTitleStyle = pie.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfSubTitleStyle = pie.pdf ? { fontSize: '0.7em' } : { fontSize: '12px' }\n const pdfPlotStyle = pie.pdf ? { textOutline: \"none\", fontSize: '0.6em' } : { textOutline: \"none\", fontSize: '11px' }\n return {\n chart: {\n type: 'pie',\n events: {\n drilldown: function (category) {\n const $container = $(this.container);\n const drilldownName = category.seriesOptions.name;\n switch (drilldownName) {\n case 'Money': $container.addClass('money'); break;\n case 'People': $container.addClass('people'); break;\n case 'Customers': $container.addClass('customers'); break;\n case 'Other': $container.addClass('other'); break;\n case 'COGS': $container.addClass('cogs'); break;\n case 'Net Income': $container.addClass('net-income'); break;\n }\n },\n drillupall: function (category) {\n const $container = $(this.container);\n $container.removeClass('money people customers other cogs net-income');\n }\n },\n style: {\n stroke: \"none\",\n fontFamily: fontsArr\n }\n },\n legend: { enabled: false },\n title: {\n text: pie.title,\n style: pdfTitleStyle\n },\n subtitle: {\n text: pie.subtitle,\n style: pdfSubTitleStyle\n },\n credits: {\n enabled: false\n },\n xAxis: {\n type: 'category',\n labels: {\n style: {\n fontSize: '12px'\n },\n }\n },\n yAxis: {\n labels: {\n style: {\n fontSize: '12px'\n },\n formatter: function () {\n return this.value * 100 + \"%\";\n }\n },\n title: {\n text: null\n },\n },\n exporting: {\n enabled: pie.pdf ? false : true,\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000'\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n tooltip: {\n pointFormatter: function () {\n return (this.negative ? \"-\" : \"\") + ((this.y * 100).toFixed(4)) + '%';\n },\n borderColor: \"none\",\n style: {\n stroke: \"none\",\n fontSize: '12px'\n }\n },\n plotOptions: {\n pie: {\n colors: pieColors[pie.page],\n dataLabels: {\n distance: 10,\n style: pdfPlotStyle\n }\n },\n series: {\n dataLabels: {\n enabled: true,\n formatter: function () {\n if (pie.page === 'people') {\n return (this.y * 100).toFixed(2) + '%';\n } else {\n return this.point.name + ': ' + (this.point.negative ? \"-\" : \"\") + (this.y * 100).toFixed(2) + '%';\n }\n },\n style: {\n fontSize: '12px'\n },\n }\n }\n },\n series: [{\n name: 'Categories',\n data: pieData.parents,\n }],\n drilldown: {\n animation: true,\n series: pieData.children,\n }\n }\n};\n\nconst format = (format, num) => {\n switch (format) {\n case 'percent':\n return ` ${Highcharts.numberFormat((num * 100), 2, '.', ',')}%`;\n case 'days':\n return `${Highcharts.numberFormat(num, 1)} days`;\n case 'decimal':\n return Highcharts.numberFormat(num, 2);\n case 'ratio':\n return ` ${Highcharts.numberFormat(num, 2, '.', ',')}:1`;\n case 'money':\n return num >= 0 ? ` $${Highcharts.numberFormat(num, 0, '.', ',')}` : ` -$${Highcharts.numberFormat(Math.abs(num), 0, '.', ',')}`;\n case 'wholeNumber':\n return Math.round(num)\n }\n}\n\nconst axisFormat = (format, num) => {\n switch (format) {\n case 'percent':\n return `${Highcharts.numberFormat((num * 100), 0, '', ',')}%`;\n case 'days':\n return `${Highcharts.numberFormat(num, 1)} days`;\n case 'decimal':\n return Highcharts.numberFormat(num, 0);\n case 'ratio':\n return `${Highcharts.numberFormat(num, 0, '.', ',')}:1`;\n case 'money':\n return num >= 0 ? `$${Highcharts.numberFormat(num, 0, '.', ',')}` : `-$${Highcharts.numberFormat(Math.abs(num), 0, '.', ',')}`;\n case 'wholeNumber':\n return Math.round(num)\n }\n}\n\nconst getLineOrColOptions = (chart, youData, compareData, fiscalYearEnd) => {\n // Need to give color to series in order to export/print charts with highcharts exporting module\n const barColor = {\n money: '#69B144',\n people: '#00AEEF',\n customers: '#542667'\n }\n let finalColor = chart.onManyReports ? barColor['money'] : barColor[chart.page]\n\n const printBarChartClass = {\n money: 'ind-money-content',\n people: 'ind-people-content',\n customers: 'ind-customer-content'\n }\n let finalPrintColor = chart.onManyReports ? printBarChartClass['money'] : printBarChartClass[chart.page]\n\n let seriesOneType = chart.styles ? chart.styles.seriesOne.type : 'column'\n let seriesTwoType = chart.styles ? chart.styles.seriesTwo.type : 'column'\n\n let seriesArr = [\n {\n className: finalPrintColor,\n color: finalColor,\n type: seriesOneType,\n name: chart.displayColumnsBy === 'Years' && chart.reportPeriod !== 'Year to Date' ? `You ${fiscalYearEnd}` : 'You',\n data: youData,\n zIndex: 2\n }\n ]\n\n if (compareData && compareData.length > 0) {\n let compareName = chart.compareWith\n\n if (chart.displayColumnsBy === 'Years' && chart.reportPeriod !== 'Year to Date' && chart.compareWith === 'Peers') {\n compareName = 'Peers 12/31'\n } else if (chart.page === 'money' && chart.displayColumnsBy === 'Months') {\n compareName = chart.compareWithTitle\n }\n\n seriesArr.push({\n type: seriesTwoType,\n color: '#D3D3D3',\n stroke: finalColor,\n name: compareName,\n data: compareData,\n zIndex: 1,\n })\n }\n\n const pdfTitleStyle = chart.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfSubTitleStyle = chart.pdf ? { fontSize: '0.8em', fontWeight: 'normal' } : { fontSize: '12px', fontWeight: 'normal' }\n const pdfLabelStyle = chart.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n const pdfPlotStyle = chart.pdf ? { stroke: \"none\", fontSize: '0.8em' } : { stroke: \"none\", fontSize: '11px' }\n\n return {\n chart: {\n style: {\n fontFamily: fontsArr\n }\n },\n colors: [\n \"highcharts-color-0\",\n \"highcharts-color-11\"\n ],\n title: {\n text: chart.title,\n style: pdfTitleStyle\n },\n subtitle: {\n text: chart.subtitle,\n style: pdfSubTitleStyle\n },\n credits: {\n enabled: false\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000'\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n exporting: {\n enabled: false\n },\n series: seriesArr,\n tooltip: {\n enabled: chart.pdf ? false : true,\n shared: true,\n style: {\n stroke: \"none\",\n },\n useHTML: true,\n formatter: function () {\n if (chart.displayColumnsBy === 'Years' && chart.reportPeriod !== 'Year to Date') {\n if (this.points) {\n let currentYear = new Date().getFullYear();\n return this.points.reduce(function (s, point) {\n let y = format(chart.format, point.y);\n let youOrCompare = point.series.name.includes('You');\n let year = youOrCompare && fiscalYearEnd !== '12/31' ? point.x + 1 : point.x;\n\n if ((year - 1) === currentYear && chart.companyYTDDate && youOrCompare || year === currentYear && chart.companyYTDDate && youOrCompare && fiscalYearEnd === '12/31') {\n return s + 'You ' + chart.companyYTDDate + ': ' + y + '
    ';\n } else if (point.series.name.includes('Peers') && currentYear === year && chart.aggregateYTDDate) {\n return s + 'Peers ' + chart.aggregateYTDDate + ': ' + y + '
    ';\n } else if (['Practice', 'NSCHBC'].includes(point.series.name)) {\n return s + point.series.name + ' ' + year + ': ' + y + '
    ';\n } else {\n return s + point.series.name + '/' + year + ': ' + y + '
    ';\n }\n }, '');\n }\n } else if (chart.displayColumnsBy === 'Years' && chart.reportPeriod === 'Year to Date' || chart.displayColumnsBy === 'Months') {\n if (this.points) {\n return this.points.reduce(function (s, point) {\n let y = format(chart.format, point.y);\n return s + '
    ' + point.series.name + ': ' + y;\n }, '' + this.x + '');\n }\n } else {\n return \"\"\n }\n }\n },\n xAxis: {\n title: {\n text: chart.displayColumnsBy,\n style: pdfLabelStyle,\n },\n categories: chart.displayColumnsBy === \"Years\" ? chart.years : chart.months,\n startOnTick: true,\n endOnTick: true,\n labels: {\n align: 'center',\n style: pdfLabelStyle\n },\n crosshair: {}\n },\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: \"9px\",\n }\n },\n yAxis: {\n title: {\n enabled: false\n },\n labels: {\n enabled: true,\n formatter: function () {\n if (this.value) {\n let val = axisFormat(chart.format, this.value);\n return val;\n } else {\n return 0\n }\n },\n style: pdfLabelStyle\n },\n },\n plotOptions: {\n line: {\n lineWidth: 3\n },\n series: {\n dataLabels: {\n enabled: true,\n style: pdfPlotStyle,\n formatter: function () {\n if (this.y) {\n let plotY = format(chart.format, this.y);\n return plotY;\n } else {\n let plotY = format(chart.format, 0);\n return plotY;\n }\n },\n align: 'center',\n crop: false,\n },\n }\n },\n };\n}\n\n// Only used in people and customers report pages\nconst getVerticalBarChartOptions = (chart, youData, compareData) => {\n const barColor = {\n money: '#69B144',\n people: '#00AEEF',\n customers: '#542667'\n }\n\n let seriesArr = [\n {\n type: 'column',\n name: 'You',\n color: barColor[chart.page],\n data: [youData],\n zIndex: 1\n }\n ]\n\n if (compareData) {\n seriesArr.push({\n type: 'column',\n name: chart.compareWith,\n color: '#cccccc',\n data: [compareData],\n zIndex: 2,\n })\n }\n\n return {\n chart: {\n type: 'column',\n style: {\n fontFamily: fontsArr\n }\n },\n colors: [\n \"highcharts-color-0\",\n \"highcharts-color-1\"\n ],\n title: {\n text: chart.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n subtitle: {\n text: chart.subtitle,\n style: {\n fontSize: '12px'\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000'\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n tooltip: {\n enabled: false,\n shared: true,\n valuePrefix: '',\n valueSuffix: '',\n valueDecimals: 0,\n },\n xAxis: {\n categories: [''],\n labels: {\n align: 'center',\n reserveSpace: false,\n x: 0, y: 15\n }\n },\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: \"9px\",\n }\n },\n yAxis: {\n title: {\n enabled: false\n },\n labels: {\n enabled: false,\n },\n },\n plotOptions: {\n series: {\n dataLabels: {\n align: 'center',\n enabled: true,\n allowOverlap: true,\n crop: false,\n style: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '12px'\n },\n formatter: function () {\n if (this.y) {\n let plotY = format(chart.format, this.y);\n return plotY;\n } else {\n return \"\"\n }\n },\n }\n }\n },\n series: seriesArr\n }\n}\n\nconst getHorizontalBarOptions = (chart, xCategories, hBarSeries) => {\n return {\n chart: {\n type: 'bar',\n style: {\n fontFamily: fontsArr\n }\n },\n title: {\n text: chart.title,\n style: {\n fontWeight: 'normal',\n fontSize: '18px'\n }\n },\n subtitle: {\n text: chart.subtitle,\n style: {\n fontSize: '12px'\n }\n },\n xAxis: {\n categories: xCategories,\n title: {\n text: null\n },\n labels: {\n style: {\n fontSize: '11px'\n }\n }\n },\n yAxis: {\n tickPositions: [0, 25, 50, 75, 100],\n min: 0,\n max: 100,\n opposite: true,\n title: { text: null },\n labels: {\n style: {\n fontSize: '11px'\n }\n }\n },\n tooltip: {\n enabled: false\n },\n credits: {\n enabled: false\n },\n exporting: {\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n plotOptions: {\n bar: {\n dataLabels: {\n enabled: true,\n formatter: function () {\n return this.y + '%'\n },\n style: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '11px'\n }\n }\n }\n },\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '12px'\n }\n },\n series: hBarSeries,\n }\n}\n\nconst getStackedColumnOptions = (chart, youData) => {\n const pdfTitleStyle = chart.pdf ? { fontSize: '1em', fontWeight: 'normal' } : { fontSize: '18px', fontWeight: 'normal' }\n const pdfLabelStyle = chart.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n const pdfPlotStyle = chart.pdf ? { fontSize: '0.8em' } : { fontSize: '11px' }\n const pdfLegendStyle = chart.pdf ? { fontSize: '0.7em' } : { fontSize: '12px' }\n\n return {\n chart: {\n type: 'column',\n style: {\n fontFamily: fontsArr\n }\n },\n title: {\n text: chart.title,\n style: pdfTitleStyle\n },\n credits: {\n enabled: false\n },\n exporting: {\n enabled: chart.pdf ? false : true,\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000',\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n xAxis: {\n title: {\n style: pdfLabelStyle\n },\n categories: chart.categories,\n startOnTick: true,\n endOnTick: true,\n labels: {\n align: 'center',\n style: pdfLabelStyle\n },\n crosshair: {}\n },\n yAxis: {\n min: 0,\n title: {\n enabled: false\n },\n labels: {\n formatter: function () {\n if (chart.format === 'percent') {\n return this.axis.defaultLabelFormatter.call(this) * 100 + '%';\n } else {\n return '$' + this.axis.defaultLabelFormatter.call(this);\n }\n },\n style: pdfLabelStyle\n },\n stackLabels: {\n enabled: false,\n style: {\n fontWeight: 'bold',\n }\n }\n },\n legend: {\n backgroundColor: 'white',\n borderColor: '#CCC',\n borderWidth: 1,\n shadow: false,\n itemStyle: pdfLegendStyle,\n },\n tooltip: {\n useHTML: true,\n formatter: function () {\n let y = format(chart.format, this.y);\n let total = format(chart.format, this.total)\n return this.series.name + ': ' + y + '
    ' + 'Total: ' + total;\n },\n style: {\n fontSize: '11px'\n }\n },\n series: youData,\n plotOptions: {\n column: {\n stacking: 'normal',\n dataLabels: {\n enabled: true,\n style: pdfPlotStyle,\n formatter: function () {\n return format(chart.format, this.y)\n }\n }\n }\n },\n }\n}\n\nconst getLineChartOptions = (chart, seriesTitles, lineSeries) => {\n // need latest year for cltv70, 80, 90\n return {\n chart: {\n type: 'line',\n style: {\n fontFamily: fontsArr\n }\n },\n colors: [\n \"highcharts-color-0\",\n \"highcharts-color-1\"\n ],\n title: {\n text: chart.title,\n style: {\n fontSize: '18px',\n fontWeight: 'normal'\n }\n },\n subtitle: {\n text: chart.subtitle,\n style: {\n fontSize: '12px'\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n allowHTML: true,\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true\n }\n }\n }\n }\n },\n navigation: {\n menuItemHoverStyle: {\n background: '#f5f5f5',\n color: '#000000'\n },\n menuItemStyle: {\n padding: '3px 5px',\n fontWeight: 'bold'\n },\n menuStyle: {\n padding: '0',\n }\n },\n tooltip: {\n valueDecimals: 2,\n valueSuffix: '%',\n shared: true,\n pointFormatter: function () {\n return `\\u25CF ${this.series.name}: ${format(chart.format, this.y)}
    `\n },\n style: {\n stroke: \"none\",\n fontSize: '11px'\n }\n },\n xAxis: {\n categories: seriesTitles,\n startOnTick: true,\n endOnTick: true,\n labels: {\n align: 'right',\n style: {\n fontSize: '11px'\n }\n },\n crosshair: {}\n },\n yAxis: {\n title: {\n text: null,\n },\n labels: {\n style: {\n fontSize: '12px'\n }\n },\n crosshair: {}\n },\n series: lineSeries,\n plotOptions: {\n line: {\n dataLabels: {\n enabled: true,\n formatter: function () {\n return format(chart.format, this.y);\n },\n align: 'center',\n crop: false,\n allowOverlap: true,\n style: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '12px'\n }\n },\n lineWidth: 3\n }\n },\n legend: {\n itemStyle: {\n stroke: \"none\",\n textOutline: \"none\",\n fontSize: '12px'\n }\n }\n }\n}\n\nexport { gaugeKeys, getIndustryLineChartOptions, getIndustryBarChartOptions, getMultiDataBarChartOptions, get3DBubbleChartOptions, getQuadrantOptions, getScatterPlotOptions, getPNLComboOptions, getTrendChart, getGaugeOptions, buildDrilldownData, getPieOptions, getDonutOptions, format, axisFormat, getLineOrColOptions, getVerticalBarChartOptions, getHorizontalBarOptions, getStackedColumnOptions, getLineChartOptions };","import React from 'react';\n\nconst WageDataScaffold = (props) => {\n return (\n
    \n \n \n \n \n \n \n
    Wages and Salaries
    \n \n \n \n \n \n \n \n \n \n \n \n \n {props.wageData && props.wageData.length > 0 ?\n (\n {props.wageData.map((data, i) => {\n return (\n \n \n \n \n \n \n \n \n \n )\n })}\n ) : ()\n }\n
    OccupationAverage10th25thMedian75th90th
    \n {data.display_name}\n \n {data.annual_mean}\n \n {data.pct_ten}\n \n {data.pct_twenty_five}\n \n {data.annual_median}\n \n {data.pct_seventy_five}\n \n {data.pct_ninety}\n
    No Data Available For Selected Year
    \n {props.wageData && props.wageData.length > 0 && ¹ This value exceeds $208,000 annually, the upper limit recorded by the U.S. Bureau of Labor Stastics}\n
    \n )\n}\n\nexport default WageDataScaffold;\n","import React, { useState, useContext, useRef, useMemo } from 'react';\nimport { Data } from './contexts';\nimport { CommonSizeArrows, MonthlyPNLandBalValues, MonthlyPNLandBalCommonSized, YTDPnlandBalCommonSizeValue, AnnualCashFlowValues, MonthlyCashFlowValues, AnnualKFIsValues, YTDPnlandBalValues, YTDCashFlowValues, MonthlyKFIsValues, KFIsCommonSizeArrows, CashFlowCommonSizeArrows } from './report_components/MoneyHelpers';\nimport { buildImpactBox, impactBoxStatusColor, noSpecificTextMaker } from './report_components/ImpactBoxTextHelper';\nimport { ratioCalculations, ratioCalculationsMoney, calculateEBITDA, netWorkingCapitalCalculation, netWorkingCapitalRatioCalculation, trailing12MonthCalculations } from './monthly/monthy_analysis_table_trailing12_calculations';\nimport { objReducer, calculateKFIMetric, calculateSeniorDebtToEBITDA, calculateEBITDAtoAnnualInterest, monthlyTotalRevenueGRCalc, monthlyPercentOfRevenueCalc, ytdPercentOfRevenueCalc, ytdTotalRevenueGRCalc } from './report_components/MoneyHelpers';\nimport { peopleCustomersT12Metrics, peersAnalysisPerCustomerVals } from './report_components/PeopleCustomersHelpers';\nimport { Responsive, WidthProvider } from 'react-grid-layout';\nimport { COPY } from './charts/chart_helpers';\nimport { moneyCharts, pageCharts } from './charts';\nimport { gaugeKeys, getIndustryLineChartOptions, getIndustryBarChartOptions, getMultiDataBarChartOptions, get3DBubbleChartOptions, getQuadrantOptions, getScatterPlotOptions, getGaugeOptions, buildDrilldownData, getPieOptions, getDonutOptions, format, axisFormat, getLineOrColOptions, getVerticalBarChartOptions, getHorizontalBarOptions, getStackedColumnOptions, getLineChartOptions } from './charts/DashBoardHighChartsHelper';\nimport WageDataScaffold from './tables/WageDataScaffold';\nimport HighchartsReact from 'highcharts-react-official';\nimport Highcharts from 'highcharts/highcharts.js';\nimport highchartsMore from 'highcharts/highcharts-more.js';\nimport highchartsMap from 'highcharts/modules/map';\nimport solidGauge from 'highcharts/modules/solid-gauge.js';\nimport HC_exporting from 'highcharts/modules/exporting';\nimport offlineExporting from 'highcharts/modules/offline-exporting';\nimport drilldown from 'highcharts/modules/drilldown';\nimport { capitalize, parseMoney } from '../utils';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faLockOpen, faLock, faComment, faCommentSlash, faPencil } from '@fortawesome/free-solid-svg-icons';\nimport { SizeMe } from 'react-sizeme';\nconst ResponsiveGridLayout = WidthProvider(Responsive);\nhighchartsMore(Highcharts);\nhighchartsMap(Highcharts);\nsolidGauge(Highcharts);\nHC_exporting(Highcharts);\nofflineExporting(Highcharts);\ndrilldown(Highcharts);\n\nconst ChildDashboard = (props) => {\n const { peerviewMetricsYears, calcs, monthly_calcs, previousYearCalcs, yoy_calcs, previous_yoy_calcs, calcs_3_years_back } = useContext(Data);\n const [chartRefs, setChartRefs] = useState({})\n const [timer, setTimer] = useState(null)\n const [showChart, setShowChart] = useState(true)\n const [showImpactComment, setShowImpactComment] = useState(true)\n // Get an object of all the highcharts refs so that they reflow() or force resizing when user resizes them in the react-grid-layout\n const setNewRef = (ref) => {\n if (ref) {\n let itemId = ref.container.current.id;\n chartRefs[itemId] = ref;\n setChartRefs(prevState => {\n return {\n ...prevState,\n itemId: ref\n }\n })\n }\n };\n\n const titleSetter = (chart) => {\n if (props.displayColumnsBy === 'Months' && chart.key === 'total_revenue_growth_rate') {\n return 'Monthly Revenue % of Annual Total Revenue'\n } else if (chart.copy) {\n if (chart.key.includes('labor_cogs')) {\n return `Labor COGS - ${chart.copy}`\n } else if (chart.parentKey === \"total_costs\") {\n return `COGS-${chart.copy}`\n } else {\n return chart.copy\n }\n } else {\n return (chart.title ? chart.title : COPY[chart.key])\n }\n }\n\n const buildIndustryLineData = (chart) => {\n let categories;\n const barColor = {\n industryMoney: '#69B144',\n industryPeople: '#00AEEF',\n industryCustomers: '#542667'\n }\n let key = chart.key;\n if (chart.key === 'profitability') {\n key = 'profit_margin'\n }\n let seriesData = ['avg'].map((category, i) => {\n categories = Object.keys(calcs[category][key]);\n return {\n name: capitalize(category),\n title: capitalize(category),\n data: Object.values(calcs[category][key]),\n showInLegend: false,\n type: 'line',\n color: barColor[props.page],\n _colorIndex: i,\n _symbolIndex: i,\n }\n })\n return { seriesData, categories }\n }\n\n const buildIndustryBarData = (chart) => {\n let categories;\n const barColor = {\n industryMoney: '#69B144',\n industryPeople: '#00AEEF',\n industryCustomers: '#542667'\n }\n let key = chart.key;\n let seriesData = ['avg'].map((category, i) => {\n categories = Object.keys(calcs[category][key]);\n let dataValues = [];\n if (key === 'senior_debt_to_ebitda') {\n dataValues = categories.map(year => {\n let value;\n let longTermDebt = calcs[category]['long_term_debt'][year];\n let lineOfCredit = calcs[category]['line_of_credit'][year];\n let currentPortionOfLTD = calcs[category]['current_portion_of_ltd'][year];\n let netIncome = calcs[category]['operating_expenses_net_income'][year];\n let interest = calcs[category]['interest_and_other_expenses'][year];\n let taxes = calcs[category]['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = calcs[category]['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n return value = (longTermDebt + lineOfCredit + currentPortionOfLTD) / ebitda;\n })\n } else if (key === 'ebitda_to_annual_interest') {\n dataValues = categories.map(year => {\n let value;\n let netIncome = calcs[category]['operating_expenses_net_income'][year];\n let interest = calcs[category]['interest_and_other_expenses'][year];\n let taxes = calcs[category]['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = calcs[category]['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n return value = ebitda / interest;\n })\n } else {\n dataValues = Object.values(calcs[category][key]);\n }\n return {\n name: capitalize(category),\n title: capitalize(category),\n data: dataValues,\n showInLegend: false,\n type: 'column',\n color: barColor[props.page],\n _colorIndex: i % 2,\n _symbolIndex: i,\n }\n })\n return { seriesData, categories }\n }\n\n const buildHorizonalBarSeries = (chart) => {\n if (props.page === 'industryCustomers') {\n let vals = chart.keys.map((key) => {\n let val = calcs['avg'][key][props.year];\n return val ? (Math.round(val * 10) / 10) : null;\n })\n\n return [{\n data: vals,\n showInLegend: false,\n name: 'avg',\n color: '#542667',\n }]\n\n } else {\n if (props.displayColumnsBy === 'Years' && props.reportPeriod !== 'Year to Date') {\n return ['you', 'avg'].map((g, i) => {\n let dataName;\n if (g === 'you') {\n dataName = 'You'\n }\n if (g === 'avg') {\n dataName = 'Peers'\n }\n let vals = chart.keys.map((key) => {\n let val = calcs[g][key][props.year];\n return val ? (Math.round(val * 10) / 10) : null;\n })\n\n return {\n data: vals,\n showInLegend: true,\n name: dataName,\n color: dataName === 'You' ? '#542667' : '#ae6dc9',\n }\n })\n }\n\n return ['you', 'avg'].map((g, i) => {\n let dataName;\n if (g === 'you') {\n dataName = 'You'\n }\n if (g === 'avg') {\n dataName = 'Peers'\n }\n\n return {\n data: [0, 0],\n showInLegend: true,\n name: dataName,\n color: dataName === 'You' ? '#542667' : '#ae6dc9',\n }\n })\n }\n }\n\n const buildLineSeries = (chart) => {\n if (props.displayColumnsBy === 'Years' && props.reportPeriod !== 'Year to Date') {\n return ['you', 'avg'].map((g, i) => {\n let dataName;\n if (g === 'you') {\n dataName = 'You'\n }\n if (g === 'avg') {\n dataName = 'Peers'\n }\n let vals = chart.keys.map((key) => {\n // need latest year for cltv70, 80, 90\n let val = calcs[g][key][props.year];\n return val ? val : null;\n })\n\n return {\n data: vals,\n showInLegend: true,\n name: dataName,\n title: dataName,\n color: dataName === 'You' ? '#542667' : '#ae6dc9',\n _symbolIndex: i,\n }\n })\n }\n return ['you', 'avg'].map((g, i) => {\n let dataName;\n if (g === 'you') {\n dataName = 'You'\n }\n if (g === 'avg') {\n dataName = 'Peers'\n }\n\n return {\n data: [0, 0],\n showInLegend: true,\n name: dataName,\n color: dataName === 'You' ? '#542667' : '#ae6dc9',\n }\n })\n }\n\n const buildVerticalBarData = (chart, set) => {\n let value = null;\n if (props.displayColumnsBy !== 'Months' && props.reportPeriod !== 'Year to Date') {\n if (set === 'you' && calcs['you']) {\n value = calcs['you'][chart.key][props.year];\n }\n if (set === 'Peers' && calcs['avg']) {\n value = calcs['avg'][chart.key][props.year];\n }\n if (set === 'YOY' && previousYearCalcs['you']) {\n value = previousYearCalcs['you'][chart.key][props.year];\n }\n if (set === 'Practice' && calcs['practice_avg']) {\n value = calcs['practice_avg'][chart.key][props.year];\n }\n if (set === 'NSCHBC' && calcs['nschbc']) {\n value = calcs['nschbc'][chart.key][props.year];\n }\n\n } else {\n let monthNumber = 0;\n let metrics = set === 'you' ? props.youMetrics : props.compareMetrics;\n let useableMonths;\n if (props.displayColumnsBy === 'Months') {\n useableMonths = Object.values(monthly_calcs['you']['roa']);\n } else if (props.reportPeriod === 'Year to Date') {\n useableMonths = Object.values(monthly_calcs[props.year]['you']['roa']);\n }\n useableMonths.forEach(thing => thing !== null ? monthNumber += 1 : null);\n if (metrics[chart.key]) {\n value = Math.round(metrics[chart.key][monthNumber]);\n }\n }\n\n return value;\n }\n\n // Used by AP and AR Aging Summary Reports\n const buildAPARAgingSeries = (chart) => {\n let returnSeries;\n let firstData = [];\n let secondData = [];\n let thirdData = [];\n let fourthData = [];\n let currentData = [];\n let apOrAr = chart.key === 'ap_aging_summary' ? 'ap' : 'ar';\n let agingKey91Over = apOrAr + '_91_and_over';\n let agingKey6191 = apOrAr + '_61_90';\n let agingKey3160 = apOrAr + '_31_60';\n let agingKey130 = apOrAr + '_1_30';\n let agingKeyCurrent = apOrAr + '_current';\n\n if (props.displayColumnsBy === 'Years' && props.reportPeriod !== 'Year to Date') {\n chart.years.forEach(year => {\n firstData.push(calcs['you'][agingKey91Over][year])\n secondData.push(calcs['you'][agingKey6191][year])\n thirdData.push(calcs['you'][agingKey3160][year])\n fourthData.push(calcs['you'][agingKey130][year])\n currentData.push(calcs['you'][agingKeyCurrent][year])\n })\n returnSeries = [\n {\n name: '91 and over',\n color: '#ffb74d',\n data: firstData\n },\n {\n name: '61-90',\n color: '#999',\n data: secondData\n },\n {\n name: '31-60',\n color: '#542667',\n data: thirdData\n },\n {\n name: '1-30',\n color: '#00aeef',\n data: fourthData\n },\n {\n name: 'Current',\n color: '#69b144',\n data: currentData\n }\n ]\n }\n\n if (props.reportPeriod === 'Year to Date') {\n chart.years.forEach(year => {\n let firstVals = monthly_calcs[year]['you'][agingKey91Over] ? Object.values(monthly_calcs[year]['you'][agingKey91Over]) : [];\n let secondVals = monthly_calcs[year]['you'][agingKey6191] ? Object.values(monthly_calcs[year]['you'][agingKey6191]) : [];\n let thirdVals = monthly_calcs[year]['you'][agingKey3160] ? Object.values(monthly_calcs[year]['you'][agingKey3160]) : [];\n let fourthVals = monthly_calcs[year]['you'][agingKey130] ? Object.values(monthly_calcs[year]['you'][agingKey130]) : [];\n let currentVals = monthly_calcs[year]['you'][agingKeyCurrent] ? Object.values(monthly_calcs[year]['you'][agingKeyCurrent]) : [];\n firstData.push(firstVals[firstVals.length - 1])\n secondData.push(secondVals[secondVals.length - 1])\n thirdData.push(thirdVals[thirdVals.length - 1])\n fourthData.push(fourthVals[fourthVals.length - 1])\n currentData.push(currentVals[currentVals.length - 1])\n })\n returnSeries = [\n {\n name: '91 and over',\n color: '#ffb74d',\n data: firstData\n },\n {\n name: '61-90',\n color: '#999',\n data: secondData\n },\n {\n name: '31-60',\n color: '#542667',\n data: thirdData\n },\n {\n name: '1-30',\n color: '#00aeef',\n data: fourthData\n },\n {\n name: 'Current',\n color: '#69b144',\n data: currentData\n }\n ]\n }\n\n if (props.displayColumnsBy === 'Months') {\n returnSeries = [\n {\n name: '91 and over',\n color: '#ffb74d',\n data: Object.values(monthly_calcs['you'][agingKey91Over])\n },\n {\n name: '61-90',\n color: '#999',\n data: Object.values(monthly_calcs['you'][agingKey6191])\n },\n {\n name: '31-60',\n color: '#542667',\n data: Object.values(monthly_calcs['you'][agingKey3160])\n },\n {\n name: '1-30',\n color: '#00aeef',\n data: Object.values(monthly_calcs['you'][agingKey130])\n },\n {\n name: 'Current',\n color: '#69b144',\n data: Object.values(monthly_calcs['you'][agingKeyCurrent])\n }\n ]\n }\n return returnSeries;\n }\n\n const peoplePercentKeys = ['sum_compensation_growth_rate', 'sum_taxes_and_benefits_growth_rate', 'sum_subcontractors_growth_rate', 'turnover_rate']\n const peopleKpiT12 = ['total_revenue_per_employee', 'operating_expenses_net_income_per_employee', 'average_wages_and_salaries', 'average_benefits', 'cost_of_turnover', 'number_of_employees_who_left', 'sum_compensation_growth_rate', 'sum_compensation_per_employee', 'sum_health_insurance_per_employee', 'sum_payroll_per_employee', 'sum_retirement_per_employee', 'sum_subcontractors_growth_rate', 'sum_taxes_and_benefits_growth_rate', 'sum_taxes_and_benefits_per_employee', 'total_number_of_employees', 'training_per_employee', 'turnover_rate']\n const customerKPIKeys = ['revenue_per_customer', 'gross_profit_per_customer', 'operating_expenses_net_income_per_customer', 'total_customer_costs_common_size_revenue', 'number_of_new_customers_needed_to_maintain_growth']\n const customerPercentKeys = ['percent_of_sales_from_the_top_10_percent', 'percent_of_sales_from_the_top_25_percent', 'percent_of_sales_from_the_top_50_percent', 'customer_roi']\n const buildYouLineOrColData = (chart, sheet = '') => {\n const key = chart.key;\n let dataMap = [];\n let page = props.page\n let parentMetric = props.parentDashBoardInfo\n if (page === 'money' && ['people_financial_detail', 'people_kpi'].includes(parentMetric.sheet)) {\n page = 'people'\n } else if (page === 'money' && ['customers_financial_detail', 'customers_kpi'].includes(parentMetric.sheet)) {\n page = 'customers'\n }\n\n if (props.displayColumnsBy === 'Years' && props.reportPeriod !== 'Year to Date') {\n dataMap = chart.years.map(year => {\n let value;\n try {\n if (key === 'net_working_capital') {\n let totalCurrentAssets = calcs['you']['total_current_assets'][year];\n let totalCurrentLiabilities = calcs['you']['total_current_liabilities'][year];\n value = totalCurrentAssets - totalCurrentLiabilities;\n } else if (key === 'senior_debt_to_ebitda') {\n let longTermDebt = calcs['you']['long_term_debt'][year];\n let lineOfCredit = calcs['you']['line_of_credit'][year];\n let currentPortionOfLTD = calcs['you']['current_portion_of_ltd'][year];\n let netIncome = calcs['you']['operating_expenses_net_income'][year];\n let interest = calcs['you']['interest_and_other_expenses'][year];\n let taxes = calcs['you']['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = calcs['you']['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n value = (longTermDebt + lineOfCredit + currentPortionOfLTD) / ebitda;\n } else if (key === 'ebitda_to_annual_interest') {\n let netIncome = calcs['you']['operating_expenses_net_income'][year];\n let interest = calcs['you']['interest_and_other_expenses'][year];\n let taxes = calcs['you']['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = calcs['you']['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n value = ebitda / interest;\n } else if (customerKPIKeys.includes(key)) {\n value = calcs['you'][key][year]\n } else if (customerPercentKeys.includes(key) || peoplePercentKeys.includes(key)) {\n value = calcs['you'][key][year] / 100\n } else if (sheet === 'pnl' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n value = calcs['you'][key + '_common_size_revenue'][year]\n } else if (sheet === 'balance_sheet') {\n value = calcs['you'][key + '_common_size_assets'][year]\n } else {\n value = calcs.you[key][year];\n }\n return value ? value : null;\n } catch (e) {\n return null;\n }\n })\n }\n\n if (props.displayColumnsBy === 'Years' && props.reportPeriod === 'Year to Date') {\n if (page === 'money' || page === 'people' || page === 'customers') {\n dataMap = chart.years.map(year => {\n try {\n if (chart.percentOfRevenueKey) {\n let value = ytdPercentOfRevenueCalc(chart.percentOfRevenueKey, key, monthly_calcs[year]['you']);\n return value;\n } else if (key === 'senior_debt_to_ebitda') {\n let value = calculateSeniorDebtToEBITDA(monthly_calcs[year]['you'])\n return value;\n } else if (key === 'ebitda_to_annual_interest') {\n let value = calculateEBITDAtoAnnualInterest(monthly_calcs[year]['you'])\n return value;\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = ytdTotalRevenueGRCalc(monthly_calcs[year]['you'], previousYearCalcs['monthly'][year - 1]['you'])\n return totalRevenueGR;\n } else if (peopleKpiT12.includes(key) || customerKPIKeys.includes(key) || key === 'customer_roi' || key === 'number_of_new_customers_needed_to_maintain_growth') {\n let lastMonthNumber = 0;\n let useableMonths = Object.values(monthly_calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n const calcsCurrentYearYTDYou = previousYearCalcs['monthly'][year]['you']\n const previousYearCalcsYTDYou = previousYearCalcs['monthly'][year - 1]['you']\n const previous2YearsBackYTDYou = previousYearCalcs['monthly'][year - 2]['you']\n let t12Obj = peopleCustomersT12Metrics(page, key, calcsCurrentYearYTDYou, previousYearCalcsYTDYou, previous2YearsBackYTDYou)\n return t12Obj[key][lastMonthNumber]\n } else if (sheet === 'pnl' || sheet === 'balance_sheet' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n const yearVals = monthly_calcs[year] ? monthly_calcs[year]['you'][key] : undefined;\n let value = YTDPnlandBalValues(sheet, key, yearVals, monthly_calcs[year]['you'])\n let finalVal = YTDPnlandBalCommonSizeValue(value, sheet, monthly_calcs[year]['you'])\n return finalVal;\n } else {\n let value = calculateKFIMetric(key, monthly_calcs[year]['you'], previousYearCalcs['monthly'][year - 1]['you'], previousYearCalcs['monthly_full_year'][year - 1]['you'])\n return value;\n }\n } catch (e) {\n return null;\n }\n })\n } else {\n let selectedYearVal, previousYearVal = null;\n let monthNumber = 0;\n let useableMonths = Object.values(monthly_calcs[props.year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthNumber += 1 : null);\n\n if (key === 'total_revenue' || key === 'gross_profit' || key === 'operating_expenses_net_income') {\n selectedYearVal = objReducer(monthly_calcs[props.year]['you'][key])\n previousYearVal = objReducer(monthly_calcs[props.year - 1]['you'][key])\n } else {\n if (props.youMetrics[key]) {\n selectedYearVal = props.youMetrics[key][monthNumber];\n }\n if (props.youPreviousYearMetricsYTD[key]) {\n previousYearVal = props.youPreviousYearMetricsYTD[key][monthNumber];\n }\n }\n dataMap = [previousYearVal, selectedYearVal]\n }\n }\n\n if (props.displayColumnsBy === 'Months') {\n let months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n if (page === 'money' || page === 'people' || page === 'customers') {\n if (chart.trailing12Key) {\n let trailing12Obj = trailing12MonthCalculations(chart.trailing12Key, monthly_calcs.you, previousYearCalcs.you);\n dataMap = Object.values(trailing12Obj);\n } else if (chart.percentOfRevenueKey) {\n let percentOfRevenueObj = monthlyPercentOfRevenueCalc(chart.percentOfRevenueKey, key, monthly_calcs.you);\n dataMap = Object.values(percentOfRevenueObj);\n } else if (key === 'current_ratio') {\n let currentRatioObj = ratioCalculations('total_current_assets', monthly_calcs.you)\n dataMap = Object.values(currentRatioObj);\n } else if (key === 'net_working_capital_ratio') {\n let netWorkingCapRatioObj = netWorkingCapitalRatioCalculation(monthly_calcs.you)\n dataMap = Object.values(netWorkingCapRatioObj);\n } else if (key === 'net_working_capital') {\n let netWorkingCapitalObj = netWorkingCapitalCalculation(monthly_calcs.you)\n dataMap = Object.values(netWorkingCapitalObj)\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = monthlyTotalRevenueGRCalc(monthly_calcs.you, previousYearCalcs.you)\n dataMap = Object.values(totalRevenueGR);\n } else if (peopleKpiT12.includes(key) || customerKPIKeys.includes(key) || key === 'customer_roi' || key === 'number_of_new_customers_needed_to_maintain_growth') {\n let t12Obj = peopleCustomersT12Metrics(page, key, monthly_calcs.you, previousYearCalcs.you, previous_yoy_calcs.you)\n dataMap = t12Obj[key] ? Object.values(t12Obj[key]) : []\n } else if (sheet === 'pnl' || sheet === 'balance_sheet' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n let monthsAvailable = 0;\n let useableMonths = Object.values(monthly_calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthsAvailable += 1 : null);\n const you = monthly_calcs['you'] ? monthly_calcs['you'][key] : undefined;\n dataMap = MonthlyPNLandBalValues(monthsAvailable, sheet, key, you, monthly_calcs['you'])\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(monthly_calcs.you[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(props.youMetrics[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n }\n return dataMap;\n }\n\n const buildCompareLineOrColData = (chart, sheet = '') => {\n const key = chart.key;\n let analysisPerClientMetrics = ['revenue_per_customer', 'gross_profit_per_customer', 'operating_expenses_net_income_per_customer'];\n let dataMap = [];\n let page = props.page\n let parentMetric = props.parentDashBoardInfo\n if (page === 'money' && ['people_financial_detail', 'people_kpi'].includes(parentMetric.sheet)) {\n page = 'people'\n } else if (page === 'money' && ['customers_financial_detail', 'customers_kpi'].includes(parentMetric.sheet)) {\n page = 'customers'\n }\n\n if (props.displayColumnsBy === 'Years' && props.reportPeriod !== 'Year to Date') {\n dataMap = chart.years.map(year => {\n let value;\n let compareAvg = {}\n\n if (props.compareWith === 'Peers') {\n compareAvg = calcs['avg']\n } else if (props.compareWith === 'Practice') {\n compareAvg = calcs['practice_avg']\n } else if (props.compareWith === 'NSCHBC') {\n compareAvg = calcs['nschbc']\n }\n\n try {\n if (key === 'net_working_capital') {\n let youTotalAssets = calcs['you']['total_assets'][year]\n let totalCurrentAssetsCommonSize = compareAvg['total_current_assets_common_size_assets'][year];\n let totalCurrentLiabilitiesCommonSize = compareAvg['total_current_liabilities_common_size_assets'][year];\n value = (totalCurrentAssetsCommonSize * youTotalAssets) - (totalCurrentLiabilitiesCommonSize * youTotalAssets);\n } else if (key === 'senior_debt_to_ebitda') {\n let longTermDebt = compareAvg['long_term_debt'][year];\n let lineOfCredit = compareAvg['line_of_credit'][year];\n let currentPortionOfLTD = compareAvg['current_portion_of_ltd'][year];\n let netIncome = compareAvg['operating_expenses_net_income'][year];\n let interest = compareAvg['interest_and_other_expenses'][year];\n let taxes = compareAvg['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = compareAvg['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n value = (longTermDebt + lineOfCredit + currentPortionOfLTD) / ebitda;\n } else if (key === 'ebitda_to_annual_interest') {\n let netIncome = compareAvg['operating_expenses_net_income'][year];\n let interest = compareAvg['interest_and_other_expenses'][year];\n let taxes = compareAvg['total_other_costs_taxes_- federal & state'][year];\n let deprAmor = compareAvg['depreciation_and_amortization'][year];\n let ebitda = netIncome + interest + taxes + deprAmor;\n value = ebitda / interest;\n } else if (page === 'customers' && analysisPerClientMetrics.includes(key)) {\n value = peersAnalysisPerCustomerVals(key, year, compareAvg)\n } else if (customerKPIKeys.includes(key)) {\n value = compareAvg[key][year]\n } else if (customerPercentKeys.includes(key) || peoplePercentKeys.includes(key)) {\n value = compareAvg[key][year] / 100\n } else if (sheet === 'pnl' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n value = compareAvg[key + '_common_size_revenue'] ? compareAvg[key + '_common_size_revenue'][year] : null;\n } else if (sheet === 'balance_sheet') {\n value = compareAvg[key + '_common_size_assets'] ? compareAvg[key + '_common_size_assets'][year] : null;\n } else if (key === 'cash') {\n let youTotalAssets = calcs['you']['total_assets'][year]\n value = compareAvg[key + '_common_size_assets'] ? youTotalAssets * compareAvg[key + '_common_size_assets'][year] : null;\n } else {\n value = compareAvg[key][year];\n }\n return value ? value : null;\n } catch (e) {\n return null;\n }\n })\n }\n\n if (props.displayColumnsBy === 'Years' && props.reportPeriod === 'Year to Date') {\n if (page === 'money' || page === 'people' || page === 'customers') {\n dataMap = chart.years.map(year => {\n try {\n if (chart.percentOfRevenueKey) {\n let value = ytdPercentOfRevenueCalc(chart.percentOfRevenueKey, key, monthly_calcs[year]['avg']);\n return value;\n } else if (key === 'senior_debt_to_ebitda') {\n let value = calculateSeniorDebtToEBITDA(monthly_calcs[year]['avg'])\n return value;\n } else if (key === 'ebitda_to_annual_interest') {\n let value = calculateEBITDAtoAnnualInterest(monthly_calcs[year]['avg'])\n return value;\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = ytdTotalRevenueGRCalc(monthly_calcs[year]['avg'], previousYearCalcs['monthly'][year - 1]['avg'])\n return totalRevenueGR;\n } else if (peopleKpiT12.includes(key) || customerKPIKeys.includes(key) || key === 'customer_roi' || key === 'number_of_new_customers_needed_to_maintain_growth') {\n const compareWithYTD = previousYearCalcs['monthly'][year]['avg']\n const compareWithPreviousYearCalcsYTD = previousYearCalcs['monthly'][year - 1]['avg']\n const compareWithPreviousYOYCalcsYTD = previousYearCalcs['monthly'][year - 2]['avg']\n let lastMonthNumber = 0;\n let useableMonths = Object.values(monthly_calcs[year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null ? lastMonthNumber += 1 : null);\n let t12Obj = peopleCustomersT12Metrics(page, key, compareWithYTD, compareWithPreviousYearCalcsYTD, compareWithPreviousYOYCalcsYTD)\n return t12Obj[key][lastMonthNumber]\n } else if (sheet === 'pnl' || sheet === 'balance_sheet' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n const yearVals = monthly_calcs[year] ? monthly_calcs[year]['avg'][key] : undefined;\n let value = YTDPnlandBalValues(sheet, key, yearVals, monthly_calcs[year]['avg'])\n let finalVal = YTDPnlandBalCommonSizeValue(value, sheet, monthly_calcs[year]['avg'])\n return finalVal\n } else {\n let value = calculateKFIMetric(key, monthly_calcs[year]['avg'], previousYearCalcs['monthly'][year - 1]['avg'], previousYearCalcs['monthly_full_year'][year - 1]['avg'])\n return value;\n }\n } catch (e) {\n return null;\n }\n })\n } else {\n let selectedYearVal, previousYearVal = null;\n let monthNumber = 0;\n let useableMonths = Object.values(monthly_calcs[props.year]['you']['roa']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthNumber += 1 : null);\n\n if (key === 'total_revenue' || key === 'gross_profit' || key === 'operating_expenses_net_income') {\n selectedYearVal = objReducer(monthly_calcs[props.year]['avg'][key])\n previousYearVal = objReducer(monthly_calcs[props.year - 1]['avg'][key])\n } else {\n if (props.compareMetrics[key]) {\n selectedYearVal = props.compareMetrics[key][monthNumber];\n }\n if (props.comparePreviousYearMetricsYTD[key]) {\n previousYearVal = props.comparePreviousYearMetricsYTD[key][monthNumber];\n }\n }\n\n dataMap = [previousYearVal, selectedYearVal]\n }\n }\n\n if (props.displayColumnsBy === 'Months') {\n let months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\n if (page === 'money' || page === 'people' || page === 'customers') {\n if (chart.compareWith === 'YOY' || chart.compareWith === 'Default:YOY') {\n if (chart.trailing12Key) {\n let trailing12Obj = trailing12MonthCalculations(chart.trailing12Key, previousYearCalcs.you, previous_yoy_calcs.you)\n dataMap = Object.values(trailing12Obj);\n } else if (chart.percentOfRevenueKey) {\n let percentOfRevenueObj = monthlyPercentOfRevenueCalc(chart.percentOfRevenueKey, key, previousYearCalcs.you);\n dataMap = Object.values(percentOfRevenueObj);\n } else if (key === 'current_ratio') {\n let currentRatioObj = ratioCalculations('total_current_assets', previousYearCalcs.you)\n dataMap = Object.values(currentRatioObj);\n } else if (key === 'net_working_capital_ratio') {\n let netWorkingCapRatioObj = netWorkingCapitalRatioCalculation(previousYearCalcs.you)\n dataMap = Object.values(netWorkingCapRatioObj);\n } else if (key === 'net_working_capital') {\n let netWorkingCapitalObj = netWorkingCapitalCalculation(previousYearCalcs.you)\n dataMap = Object.values(netWorkingCapitalObj)\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = monthlyTotalRevenueGRCalc(previousYearCalcs.you, previous_yoy_calcs.you)\n dataMap = Object.values(totalRevenueGR);\n } else if (peopleKpiT12.includes(key) || customerKPIKeys.includes(key) || key === 'customer_roi' || key === 'number_of_new_customers_needed_to_maintain_growth') {\n let t12Obj = peopleCustomersT12Metrics(page, key, previousYearCalcs.you, previous_yoy_calcs.you, calcs_3_years_back.you)\n dataMap = Object.values(t12Obj[key])\n } else if (sheet === 'pnl' || sheet === 'balance_sheet' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n const avg = monthly_calcs['avg'] ? monthly_calcs['avg'][key] : undefined;\n const yoy = yoy_calcs['you'] ? yoy_calcs['you'][key] : undefined;\n let monthsAvailable = 0;\n let useableMonths = Object.values(monthly_calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthsAvailable += 1 : null);\n dataMap = MonthlyPNLandBalValues(monthsAvailable, sheet, key, yoy, yoy_calcs['you'])\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(previousYearCalcs.you[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n }\n\n if (chart.compareWith === 'Peers' || chart.compareWith === 'Default:Peers') {\n if (chart.trailing12Key) {\n let trailing12Obj = trailing12MonthCalculations(chart.trailing12Key, monthly_calcs.avg, previousYearCalcs.avg)\n dataMap = Object.values(trailing12Obj);\n } else if (chart.percentOfRevenueKey) {\n let percentOfRevenueObj = monthlyPercentOfRevenueCalc(chart.percentOfRevenueKey, key, monthly_calcs.avg);\n dataMap = Object.values(percentOfRevenueObj);\n } else if (key === 'current_ratio') {\n let currentRatioObj = ratioCalculations('total_current_assets', monthly_calcs.avg)\n dataMap = Object.values(currentRatioObj);\n } else if (key === 'net_working_capital_ratio') {\n let netWorkingCapRatioObj = netWorkingCapitalRatioCalculation(monthly_calcs.avg)\n dataMap = Object.values(netWorkingCapRatioObj);\n } else if (key === 'net_working_capital') {\n let netWorkingCapitalObj = netWorkingCapitalCalculation(monthly_calcs.avg)\n dataMap = Object.values(netWorkingCapitalObj)\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = monthlyTotalRevenueGRCalc(monthly_calcs.avg, previousYearCalcs.avg)\n dataMap = Object.values(totalRevenueGR);\n } else if (peopleKpiT12.includes(key) || customerKPIKeys.includes(key) || key === 'customer_roi' || key === 'number_of_new_customers_needed_to_maintain_growth') {\n let t12Obj = peopleCustomersT12Metrics(page, key, monthly_calcs.avg, previousYearCalcs.avg, previous_yoy_calcs.you)\n dataMap = Object.values(t12Obj[key])\n } else if (sheet === 'pnl' || sheet === 'balance_sheet' || ['people_financial_detail', 'people_kpi', 'customers_financial_detail', 'customers_kpi'].includes(sheet)) {\n const avg = monthly_calcs['avg'] ? monthly_calcs['avg'][key] : undefined;\n const yoy = yoy_calcs['you'] ? yoy_calcs['you'][key] : undefined;\n let monthsAvailable = 0;\n let useableMonths = Object.values(monthly_calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthsAvailable += 1 : null);\n dataMap = MonthlyPNLandBalValues(monthsAvailable, sheet, key, avg, monthly_calcs['avg'])\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(monthly_calcs.avg[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n }\n\n if (chart.compareWith.includes('Forecast')) {\n if (chart.trailing12Key) {\n let trailing12Obj = trailing12MonthCalculations(chart.trailing12Key, props.forecastVals, previousYearCalcs.you)\n dataMap = Object.values(trailing12Obj);\n } else if (chart.percentOfRevenueKey) {\n let percentOfRevenueObj = monthlyPercentOfRevenueCalc(chart.percentOfRevenueKey, key, props.forecastVals);\n dataMap = Object.values(percentOfRevenueObj);\n } else if (key === 'current_ratio') {\n let currentRatioObj = ratioCalculations('total_current_assets', props.forecastVals)\n dataMap = Object.values(currentRatioObj);\n } else if (key === 'net_working_capital_ratio') {\n let netWorkingCapRatioObj = netWorkingCapitalRatioCalculation(props.forecastVals)\n dataMap = Object.values(netWorkingCapRatioObj);\n } else if (key === 'net_working_capital') {\n let netWorkingCapitalObj = netWorkingCapitalCalculation(props.forecastVals)\n dataMap = Object.values(netWorkingCapitalObj)\n } else if (key === 'total_revenue_growth_rate') {\n let totalRevenueGR = monthlyTotalRevenueGRCalc(props.forecastVals, previousYearCalcs.you)\n dataMap = Object.values(totalRevenueGR);\n } else if (sheet === 'pnl' || sheet === 'balance_sheet') {\n const forecast = props.forecastVals ? props.forecastVals[key] : undefined;\n let monthsAvailable = 0;\n let useableMonths = Object.values(monthly_calcs['you']['cash']);\n useableMonths.forEach(thing => thing !== null && !isNaN(thing) ? monthsAvailable += 1 : null);\n dataMap = MonthlyPNLandBalValues(monthsAvailable, sheet, key, forecast, props.forecastVals)\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(props.forecastVals[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n }\n } else {\n let returnObj = {};\n let metricValues = _.pickBy(props.compareMetrics[key], _.isNumber);\n for (let month in metricValues) {\n returnObj[month] = metricValues[month]\n }\n dataMap = Object.values(returnObj);\n }\n }\n return dataMap\n }\n\n const MetricNotes = ({ noteProps, parentNotes }) => {\n const [metricNotes, setMetricNotes] = useState('' || parentNotes)\n const [timer, setTimer] = useState(null)\n const [count, setCount] = useState(0);\n\n const handleNewNotes = (newNotes) => {\n let notes = newNotes.length >= 1100 ? newNotes.substring(0, 1100) : newNotes;\n setMetricNotes(notes)\n\n clearTimeout(timer)\n const newTimer = setTimeout(() => {\n props.handleMetricNotes(noteProps.metricRow.relatedCheckedKey, newNotes);\n }, 2000)\n setTimer(newTimer)\n }\n\n return (\n <>\n

    Notes

    \n {props.pdf\n ?
    {metricNotes}
    \n :