IncomeLens

Make sense of the money coming in.

What is IncomeLens? How do I use Sandbox?
How to connect a test bank

Plaid is the service that supplies bank transactions. Sandbox is its testing environment: all accounts and payments here are simulated.

  1. Click Connect Sandbox at the top of the page.
  2. If asked for a phone number, skip that step if offered. Otherwise use 415-555-0136 and verification code 123456. No text message will arrive.
  3. Search for First Platypus Bank. For a transaction-focused test account, use username user_transactions_dynamic and password pass_good. Select a checking account.
  4. Return here and press Refresh if history is still loading.

Test banks can return no transactions, no paychecks, or only a short history. A successful connection does not guarantee income data. Sample data includes regular paychecks so you can explore every view.

Use test details only. This version cannot connect your real bank. Plaid test-account documentation ↗

Sample data · Generated locally. Connect Plaid Sandbox to use test-bank records.

Data pipeline

Export JSON

Follow a bank record from its original description to its cleaned name and classification. Every result has a rule you can inspect.

Inspect 7 records flagged for review → Unknown credits and pending records are kept out of income totals.

How the data is processed

  1. Ingest: request records from Plaid Sandbox, or load the sample dataset.
  2. Clean: remove duplicate IDs and invalid records; normalize source names.
  3. Classify: posted credits count as income when the category or description supports it. Exclude transfers, refunds and pending payments; flag unknown credits.
  4. Summarize: group income by month, source and currency.

Plaid uses negative amounts for incoming money. Below, each original description is paired with its cleaned result and the rule used.

Stability and recurring income rules

Stability = max(0, 100 × (1 − standard deviation ÷ average income)). We use completed months with records and require at least three. Months with activity but no income count as zero; missing history is excluded. This is descriptive, not a prediction.

A source is recurring when it appears in at least three distinct months. Grouping uses text rules and can make mistakes.

Raw → cleaned records

48 records
DateOriginal descriptionCleaned sourceTypeAmountRule
2026-10-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-10-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-10-06GROCERY MARKETGrocery Marketexpense−$245Positive Plaid amounts represent money leaving the account.
2026-10-05FREELANCE NORTHSTARNorthstarincome+$650Posted credit with an income category or recognizable income description.
2026-10-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-10-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-09-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-09-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-09-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-09-06GROCERY MARKETGrocery Marketexpense−$257Positive Plaid amounts represent money leaving the account.
2026-09-05FREELANCE NORTHSTARNorthstarincome+$695Posted credit with an income category or recognizable income description.
2026-09-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-09-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-08-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-08-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-08-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-08-06GROCERY MARKETGrocery Marketexpense−$269Positive Plaid amounts represent money leaving the account.
2026-08-05FREELANCE NORTHSTARNorthstarincome+$740Posted credit with an income category or recognizable income description.
2026-08-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-08-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-07-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-07-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-07-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-07-06GROCERY MARKETGrocery Marketexpense−$281Positive Plaid amounts represent money leaving the account.
2026-07-05FREELANCE NORTHSTARNorthstarincome+$785Posted credit with an income category or recognizable income description.
2026-07-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-07-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-06-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-06-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-06-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-06-06GROCERY MARKETGrocery Marketexpense−$293Positive Plaid amounts represent money leaving the account.
2026-06-05FREELANCE NORTHSTARNorthstarincome+$830Posted credit with an income category or recognizable income description.
2026-06-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-06-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-05-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-05-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-05-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-05-06GROCERY MARKETGrocery Marketexpense−$305Positive Plaid amounts represent money leaving the account.
2026-05-05FREELANCE NORTHSTARNorthstarincome+$875Posted credit with an income category or recognizable income description.
2026-05-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-05-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-04-15PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.
2026-04-08UNIDENTIFIED DEPOSITUnidentified Depositreview+$90Unrecognized credit; excluded from income until reviewed.
2026-04-07TRANSFER SAVINGSTransfer Savingstransfer+$400Transfer or returned money, not earned income.
2026-04-06GROCERY MARKETGrocery Marketexpense−$317Positive Plaid amounts represent money leaving the account.
2026-04-05FREELANCE NORTHSTARNorthstarincome+$920Posted credit with an income category or recognizable income description.
2026-04-02RENT GREENWOODRent Greenwoodexpense−$1,650Positive Plaid amounts represent money leaving the account.
2026-04-01PAYROLL ACME STUDIOAcme Studioincome+$2,400Posted credit with an income category or recognizable income description.