The Profit and Loss Dashboard plus the Python script that builds it. Open the finished workbooks and start using them straight away, or run build_dashboard.py to rebuild the whole dashboard from scratch with your own colours, sample data and labels.

What's in the download (one .zip): two macro-enabled .xlsm workbooks (light and dark theme), build_dashboard.py, requirements.txt and a README with step-by-step instructions.
The dashboard: net revenue, gross profits, debts and corporation tax at a glance, with monthly gross profit, income against expenses, CAPEX vs. OPEX and a breakdown of operating expenses for each department. Click a department on the slicer and every card and chart follows it, including a Business Info card. A full year of sample figures for three departments (Headquarter, Web Store and Branches) is filled in. The Data Entry form checks your month, then adds it to the Data table and refreshes the dashboard in one click. Each workbook has 4 sheets (Dashboard, Data Entry, Pivot, Data). Figures in USD.
The Python script: about 1,300 lines of readable Python that drive Excel through COM automation. In about 10 seconds it builds the Excel tables, pivot tables, slicer, cards, 6 charts, the Data Entry form and its macro. Change the THEMES palette, the sample figures, the department names or the labels, then run one command, for example python build_dashboard.py "My P&L.xlsm" preview.png dark.
About the macros: the only macro, Add entry, moves the ready row into the Data table inside the workbook and refreshes the pivots. It runs only when you click the button. Click Enable Content when Excel asks; if Excel shows a red Security Risk bar, close the file, right-click it, choose Properties, tick Unblock and reopen. Prefer no macros? Copy the form's ready row instead, then use Data > Refresh All. The department slicer works without macros.
Requirements: the workbooks open in desktop Microsoft Excel (Microsoft 365 or Excel 2016 and later, Windows or Mac). The Add entry button needs desktop Excel, as macros don't run in Excel for the web. The script needs Windows with desktop Excel, Python 3.8 or later and pywin32 (pip install pywin32), and Excel's "Trust access to the VBA project object model" setting turned on while you build. It doesn't run on macOS, Linux or Excel for the web. Instant digital download, nothing is shipped.
Licences: 1 ➜ Personal Use for one person, for your own business or hobby. 2 ➜ Commercial Use for a business or organisation of any size, including client work by consultants and agencies. Every licence covers the workbooks, the script and the workbooks you build with it. You may change the script for your own use, but not resell or share it.