Building a Complete Nonprofit Financial Reporting System with Google Sheets
As a finance practitioner at BAZNAS Surabaya, a government-authorized nonprofit organization in Indonesia, I am responsible for preparing annual financial reports and submitting them through the BAZNAS Management Information System (SIMBA).
For many years, our financial reporting process relied on Microsoft Excel. However, as collaboration and transparency became more important, I gradually transformed the system into a Google Sheets-based solution that can be accessed and monitored online by management in real time.
This system was designed with three main goals: simplifying the transfer of financial data to SIMBA, aligning financial accounts with PSAK 409 standards, and improving reporting efficiency. By using a consistent chart of accounts between Google Sheets and SIMBA, the reporting process becomes faster and more accurate.
I also found that Google Sheets is highly effective for nonprofit organizations with a manageable volume of transactions. In our case, the annual journal entries are well below 10,000 records, making Google Sheets more than capable of handling daily financial operations.
Another advantage is the ability to link supporting documents directly to financial transactions. Cash receipts, payment vouchers, and other evidence can be attached through cloud storage links, allowing auditors to review documents more efficiently without requesting physical files.
Most importantly, Google Sheets is free, easy to learn, and quick to implement. Compared to developing a custom web-based application, it offers a practical and cost-effective solution for nonprofit organizations that need reliable financial reporting without significant technology investment.
In this article, I will share how I built a complete nonprofit financial reporting system using Google Sheets and how it supports both internal management needs and external reporting requirements.
Setting Up the Foundation: Creating a Google Sheets Financial System from Scratch
Before building financial statements, dashboards, or audit-ready reports, the first step is creating a solid foundation. A well-structured Google Sheets file will make future development easier, reduce errors, and improve data consistency.
To start, create a new Google Sheets file and store it in a dedicated Google Drive folder. This folder will become the central location for all financial reporting documents, supporting evidence, and related files.
Next, design the workbook structure by creating separate sheets for each function. A simple nonprofit financial reporting system include:
- Chart of Accounts
- Journal Entries
- Cash Receipts
- Cash Disbursements
- Trial Balance
- Statement of Financial Position
- Statement of Changes in Funds
- Statement of Cash Flows
- Financial Dashboard
Separating data input sheets from reporting sheets is an important principle. Users should only enter data in transaction sheets, while reports should be generated automatically using formulas. This approach reduces the risk of accidental modifications to financial reports.
At this stage, do not focus on complex formulas or visual dashboards. The goal is simply to build a clean and organized structure that can support future reporting requirements.
Once the workbook structure is ready, the next step is designing a Chart of Accounts that aligns with PSAK 409 and the account structure used in SIMBA. This alignment will significantly simplify the reporting process and reduce the need for manual adjustments at year-end.
Designing a Chart of Accounts Aligned with PSAK 409 and SIMBA
Before creating the Chart of Accounts, it is important to define the account structure that will be used throughout the financial reporting system.
To better understand PSAK 409 and its implementation within zakat management organizations, I spent considerable time studying several publications from PUSKAS BAZNAS. Some of the most valuable references were Kebijakan Keuangan BAZNAS dan LAZ Atas Perubahan Revisi PSAK 109 (2022)[1], Analisis Rasio Keuangan Organisasi Pengelola Zakat [2], and Kajian Penyusunan Pedoman Akuntansi dan Keuangan Organisasi Pengelola Zakat[3]. These publications provided practical guidance on how financial transactions should be classified, reported, and analyzed within nonprofit organizations.
However, when designing this system, I decided to use the account structure already available in SIMBA (Sistem Informasi Manajemen BAZNAS). Since SIMBA is the official reporting platform used by BAZNAS institutions, aligning the Chart of Accounts with SIMBA helps ensure consistency between internal records and official reports.
In general, the account structure consists of five account codes and five hierarchical levels, allowing organizations to build more than 840 individual accounts. This structure provides enough flexibility to accommodate various fundraising, distribution, operational, and supporting activities within nonprofit organizations.
The detailed design of these accounts is beyond the scope of this article and deserves a dedicated discussion in the future. For now, our objective is much simpler: building a practical Chart of Accounts in Google Sheets that can serve as the foundation for the entire financial reporting system.
Let's begin by creating the Google Sheets file and preparing the Chart of Accounts worksheet.
Create a Google Sheets file
Creating the Chart of Accounts Structure
The Chart of Accounts (CoA) serves as the foundation of the entire financial reporting system. Every financial transaction recorded in the journal will eventually reference one of the accounts defined in this worksheet.
To keep the system organized and compatible with SIMBA reporting requirements, we will create a simple account master table. This table will store essential information such as account hierarchy, account codes, account names, normal balances, and financial statement classifications.
Create a worksheet named Chart of Accounts and prepare the following columns:


Post a Comment