SheetLink
how to

How to Build a P&L in Google Sheets Using Live Bank Transactions

A step-by-step guide to building a real Profit & Loss statement in Google Sheets, automatically populated from your bank accounts via SheetLink.

Rudy·Founder, SheetLink
··4 min read

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.

A three-sheet setup:

  1. Transactions — raw data from SheetLink (auto-generated, don't edit)
  2. Categories — your chart of accounts (income types + expense categories)
  3. P&L — the summary that pulls from Transactions using SUMIFS

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.

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).

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

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 sheet
  • B$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.

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.

Once this is built, your monthly close takes about 10 minutes:

  1. Open SheetLink → Sync Now (10 seconds)
  2. Review new Transactions, fill in any missing Line Item values (~5 min)
  3. 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.

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.

google sheetsP&Lprofit and lossbookkeepingsmall businessfreelance

Yes. A simple P&L is just income minus expenses, broken down by category and period. Google Sheets handles this well with SUMIFS formulas and a few well-structured sheets.

For small businesses and freelancers, a Sheets-based P&L is accurate enough for most purposes — especially for cash-basis accounting. The main difference is that QuickBooks handles accounts payable/receivable and accrual accounting. If you invoice clients on net-30 terms, you may eventually outgrow Sheets.

SheetLink writes Plaid's auto-detected category for each transaction. You can accept these or add your own category column with custom labels for your P&L.

Yes — share the Google Sheet with view or edit access. No software to install on their end.