A Profit & Loss statement doesn't need to be complicated. At its core, it's income minus expenses, organized by category and time period. Google Sheets can do this well — the hard part has always been getting clean transaction data in without manual entry.
This guide shows you how to build a practical P&L in Google Sheets, fed by live bank transactions from SheetLink.
What We're Building
A three-sheet setup:
- Transactions — raw data from SheetLink (auto-generated, don't edit)
- Categories — your chart of accounts (income types + expense categories)
- P&L — the summary that pulls from Transactions using SUMIFS
Step 1: Get Your Transactions Into Sheets
Install SheetLink, connect your bank accounts, link a Google Sheet, and run a sync. You'll have a Transactions sheet with all Plaid transaction fields — including date, description_raw, merchant_name, amount, category_primary, and more.
If you haven't done this yet, start here.
Step 2: Add a "Line Item" Column to Transactions
Add a column called Line Item at the end of your Transactions sheet. This maps each transaction to a P&L category.
You can do this two ways:
Option A — Manual mapping (most accurate):
Fill in Line Item as you go. For recurring merchants, use a lookup table to auto-fill using the merchant_name column:
=IFERROR(VLOOKUP(merchant_name_cell, MerchantMap!A:B, 2, 0), "") where MerchantMap is a two-column sheet of merchant name → line item.
Option B — Use Plaid categories:
Plaid auto-categorizes most transactions via category_primary. You can map those to P&L line items with a lookup: =IFERROR(VLOOKUP(category_primary_cell, CategoryMap!A:B, 2, 0), category_primary_cell).
💡 Tip
Start with Option B to get something working, then refine specific merchants where Plaid's category is wrong. 80% accuracy out of the box is good enough to start.
Step 3: Define Your P&L Structure
In a new sheet called P&L, set up your line items. A simple structure for freelancers / small businesses:
Revenue
- Client Revenue
- Product Sales
- Other Income
Cost of Goods Sold (if applicable)
- Contractor Payments
- Direct Materials
Operating Expenses
- Software & Subscriptions
- Advertising & Marketing
- Travel & Transportation
- Meals & Entertainment
- Office & Supplies
- Professional Services
- Bank Fees
- Other Expenses
The key numbers:
- Gross Profit = Revenue − COGS
- Operating Expenses (total)
- Net Profit = Gross Profit − Operating Expenses
Step 4: Build the SUMIFS Formula
For each line item and each month, use SUMIFS to pull from Transactions. Since SheetLink writes many columns, use MATCH to find the right columns by header name rather than hardcoding column letters:
=SUMIFS(
INDEX(Transactions!$A:$AJ, 0, MATCH("amount", Transactions!$1:$1, 0)),
INDEX(Transactions!$A:$AJ, 0, MATCH("Line Item", Transactions!$1:$1, 0)), $A5,
INDEX(Transactions!$A:$AJ, 0, MATCH("date", Transactions!$1:$1, 0)), ">="&B$2,
INDEX(Transactions!$A:$AJ, 0, MATCH("date", Transactions!$1:$1, 0)), "<"&C$2
)
Where:
$A5= the line item label in column A of your P&L sheetB$2= the first day of the month (e.g.=DATE(2026,B1,1))C$2= the first day of the next month
Put months in columns (B = Jan, C = Feb, etc.) and line items in rows. Fill right and down.
Step 5: Add Totals and Formatting
Add SUM rows for:
- Total Revenue
- Total COGS
- Gross Profit = Total Revenue − Total COGS
- Total Operating Expenses
- Net Profit = Gross Profit − Total Operating Expenses
Conditional formatting: green for positive Net Profit, red for negative.
The Monthly Routine
Once this is built, your monthly close takes about 10 minutes:
- Open SheetLink → Sync Now (10 seconds)
- Review new Transactions, fill in any missing Line Item values (~5 min)
- Your P&L sheet updates automatically — no other action needed
That's it. No accounting software, no monthly fee, no data locked in a system you don't control.
When to Upgrade to Accounting Software
This setup works well for:
- Freelancers and consultants on cash-basis accounting
- Small businesses with straightforward income and expenses
- Anyone who primarily wants to answer "am I profitable?"
You'll outgrow it when you need:
- Accounts payable/receivable tracking
- Accrual accounting (revenue recognized when earned, not when received)
- Multi-currency support
- Payroll integration
- Automated invoicing
For most independent workers, that's a long way off.
SheetLink Pro
Unlock full transaction history + Excel
Upgrade to Pro — $4.99/mo14-day money-back guarantee · Cancel anytime