Passive Income Dashboard — Google Sheets Template manual

A guide to manually building a Google Sheets register for income, sources, dashboard summaries, and goals from the files included.

Who it is for: It is for people who want to record received and pending income, relate it to sources and goals, and review trends in a personal spreadsheet. You need basic Google Sheets familiarity and must be willing to build the stated structure manually.

Setup time: First setup: depends on the sections and formulas you choose to configure.

What it does

  • Guides you through building a Google Sheets workbook with four tabs: Transazioni, Fonti, Dashboard, and Obiettivi.
  • Lets you record the date, source, category, description, EUR amount, status, and method for each income entry.
  • Provides drop-down lists and data-validation rules to help keep entries in Transazioni consistent.
  • Automatically calculates Anno and Mese from dates and can calculate per-source metrics including ROI_percent, Ricavo_30g_EUR, and Ricavo_YTD_EUR.
  • Supplies QUERY, SUMIFS, AVERAGEIF, ARRAYFORMULA, and SPARKLINE formulas for monthly summaries, leading sources, and a three-month moving average.
  • Compares receipts with Target_EUR and produces a twelve-month projection based on a base value and growth rate that you set.
  • Includes a weekly routine, a monthly checklist, and ten illustrative source ideas to track in the detailed guide.

What it does not do

  • It does not include a ready-to-use Google Sheet, CSV, XLSX, or duplication link; you must create the spreadsheet manually.
  • It does not automatically import statements, platform data, payments, APIs, or third-party data.
  • It does not create or manage products, campaigns, income sources, payment accounts, or investments.
  • It does not verify accounting, tax, or legal accuracy and does not replace a qualified professional.
  • It does not guarantee income, growth, financial results, ROI, or achievement of goals.

Requirements

  • Extracted ZIP archive: You need the included files. For setup, primarily use original.pdf in Italian or guide.en.md and guide.en.pdf in English.
  • Google account: Required to create and save a new Google Sheets spreadsheet. The service may have paid plans; check the provider's price list.
  • Google Sheets in an up-to-date browser: Required to create the four tabs, apply validation rules, and enter the included formulas.
  • Data you choose to record: Prepare dates, source names, categories, descriptions, positive amounts, and receipt statuses. No API keys, tokens, Python software, or special hardware are required.
  • Spreadsheet settings: The detailed guide uses the Ireland locale, English function names, and decimal points. Keep the Italian tab, header, and status names specified by the formulas.

Step-by-step setup

  1. Extract the package and choose the consistent guide. Open the ZIP. Do not look for a CSV or completed spreadsheet: neither is included. For the full procedure use original.pdf if you read Italian; use guide.en.md or guide.en.pdf if you read English. The dashboard-entrate-passive.md file and its .en.md counterpart instead describe a different legacy structure and refer to a missing CSV.
  2. Create a new Google spreadsheet. Create a blank spreadsheet in Google Sheets. Open the file settings and set Locale to Ireland so that the English function names in the guide can be used; set the time zone to Europe/Rome or your own. Format amounts as a currency with an EUR suffix, or place EUR text beside the numbers.
  3. Create the four tabs with their exact names. Add and name the tabs Transazioni, Fonti, Dashboard, and Obiettivi. Freeze row 1 and turn on filters in each tab. Keep the Italian names because the supplied formulas refer to them exactly.
  4. Set up the Transazioni columns. In Transazioni, enter the nine stated headers in row 1. Format Data as YYYY-MM-DD, Importo_EUR as a two-decimal number, and Anno and Mese as numbers. Enter only positive amounts in Importo_EUR.
  5. Add validation and lists in Transazioni. For Fonte, use the validation range Fonti!A2:A and reject invalid input. For Categoria, use Affiliate,Royalties,Ads,Interessi,Noleggi,SaaS,Altro; for Stato, use Incassato,Pendente; and for Metodo, use PayPal,Bonifico,Stripe,Crypto,Altro. Add a greater-than-zero number rule to Importo_EUR. You can colour Pendente yellow and Incassato light green with conditional formatting as proposed in the guide.
  6. Calculate Anno and Mese automatically. Enter the two formulas once in cells H2 and I2 of Transazioni. They fill their respective columns when you add a date in column A.
  7. Fill Fonti and apply source metrics. In Fonti, create the columns Fonte, Tipo, Costo_iniziale_EUR, Ore_mese, Ricavo_medio_mese_EUR, ROI_percent, Link, Stato, and Note. Add each Fonte here first, with a unique name, so it appears in the Transazioni list. In F2 use the formula that leaves ROI blank when the initial cost is zero; format the column as a one-decimal percentage. Columns J and K are optional and hold Ricavo_30g_EUR and Ricavo_YTD_EUR respectively.
  8. Build the Dashboard summary. Write Anno_selezionato in Dashboard!B1 and enter the year to analyse in B2; the guide proposes a 2024,2025,2026 list. Add the selected-year total in B3, the monthly table in A4, and the year-sorted source table in E4. The supplied formulas count only rows whose Stato is Incassato.
  9. Add trends and the moving average in Dashboard. Put the label Trend anno selezionato in B5 and the SPARKLINE formula in C5. Write months 1 through 12 in A16:A27, place monthly totals in B16, the three-month moving average in C18, and its SPARKLINE in D16. You can also create the Top 5 Fonti table in G5 and mini-trends in H6:H10 as described in the guide.
  10. Configure Obiettivi and the projection. In Obiettivi, set up columns Anno, Mese, Target_EUR, Effettivo_EUR, Delta_EUR, and Avanzamento_percent. Enter the chosen year in A2:A13 and months 1 through 12 in B2:B13, then enter your own targets in C2:C13. Enter the monthly rate in B1. The base in B3 can be calculated from the last three received months or set manually when you do not have three months of history. Add the Proiezione_mesi and Proiezione_EUR table on the right.
  11. Record the first entry and check the result. Add a source in Fonti and select it from the Fonte list in Transazioni. Enter a date, category, brief description, positive amount, appropriate status, and method. After selecting Incassato, confirm that Anno and Mese populate and that Dashboard and Obiettivi include the row for the selected year. A Pendente row remains separate from totals that filter for Incassato.

Daily use

Gather data without automation

Once a week, consult statements or source dashboards you use and collect only the information you choose to record. The package performs no access or automatic import.

Record one row per entry

In Transazioni, choose an existing Fonte and complete the date, category, description, amount, status, and method. Keep the amount positive and check that Anno and Mese populate automatically.

Separate Incassato and Pendente

Use Incassato for payments actually received and Pendente when payment has not arrived. The main guide formulas count Incassato, so do not use status as a cash forecast.

Keep Fonti current

When you begin tracking a new source, add it to Fonti first with relevant Tipo, Costo_iniziale_EUR, Ore_mese, Stato, and notes. The name must exactly match the selection in Transazioni.

Review Dashboard and Obiettivi

Select the correct year in Dashboard!B2, review tables and SPARKLINE charts, and compare Effettivo_EUR, Delta_EUR, and Avanzamento_percent in Obiettivi. Treat them as summaries of entered data and your assumptions.

Perform the monthly check

Reconcile Pendente rows with payments received, update parameters B1 and B3 if your assumptions change, and review ROI_percent alongside Ore_mese.

Practical cases

Catalogue income from several digital sources

A person manages several sources, such as royalties and affiliate activity, and wants to record received payments in one personal spreadsheet.

  1. Adds one row for each source in the Fonti tab.
  2. Sets the Fonte validation to reference Fonti!A2:A.
  3. Records each payment in Transazioni with status Incassato or Pendente.
  4. Selects the relevant year in Dashboard!B2.

They obtain a consistent register of entered rows and month-by-month and source-by-source summaries for the selected year.

Keep pending payments separate from receipts

A small digital-resource seller receives a payment notice before the funds are actually received and wants to avoid confusing the two situations.

  1. Records the row with its date, source, and positive amount.
  2. Sets Stato to Pendente until the payment is received.
  3. Uses a filter view to show only Pendente rows.
  4. Changes Stato to Incassato after reconciling it with their own statement or dashboard.

The person can distinguish pending rows from the data that the principal formulas treat as received.

Review recorded costs and estimated time per source

Someone maintaining several sources wants to note initial cost, monthly hours, and a monthly average they choose for their own tracking.

  1. Fills Costo_iniziale_EUR, Ore_mese, and Ricavo_medio_mese_EUR in Fonti.
  2. Applies the ROI_percent formula that also handles a zero cost.
  3. Optionally adds Ricavo_30g_EUR and Ricavo_YTD_EUR in columns J and K.
  4. Sorts or filters Fonti by the data they want to examine.

They obtain a personal view of recorded values by source, without the spreadsheet making financial assessments or recommendations.

Set internal targets and compare them with entries

A user wants to define their own monthly targets and compare them with Incassato rows for a reference year.

  1. Enters Anno and Mese in rows A2:B13 of Obiettivi.
  2. Fills their chosen targets in Target_EUR.
  3. Adds the formulas for Effettivo_EUR, Delta_EUR, and Avanzamento_percent.
  4. Sets or updates Tasso_crescita_mensile and Base_proiezione_EUR only as personal assumptions.

They obtain a comparison between chosen targets and entered data, plus a mathematical projection that depends on the assumptions supplied.

Tips

  • Follow the four-tab guide in original.pdf or its guide.en.md and guide.en.pdf translations, rather than the five-sheet legacy structure in dashboard-entrate-passive.md.
  • Do not try to import a CSV: the package does not contain one, even though the legacy Markdown refers to it.
  • Keep the names Transazioni, Fonti, Dashboard, and Obiettivi exactly as written while using the supplied formulas.
  • Add each source to Fonti before using it in Transazioni so the drop-down list prevents spelling differences.
  • Do not replace Incassato with synonyms: the supplied QUERY and SUMIFS formulas look specifically for Incassato.
  • For sources with zero initial cost, leave ROI blank with the IF(C2:C=0) formula instead of forcing a value.
  • Use Ricavo_30g_EUR and Ricavo_YTD_EUR only after adding optional columns J and K with the stated formulas.
  • Enter B3 manually if you do not have three months of received data; a projection with little history is only an assumption.
  • Before interpreting summaries, filter for blank Importo_EUR values, missing Fonte entries, and the current-month Data range.
  • Protect the spreadsheet and share it only with people who need access: descriptions, sources, amounts, and methods can be confidential data.

Troubleshooting

I cannot find the CSV or a ready-made Google spreadsheet to import.

The archive contains five Markdown files and two PDFs, but no CSV, XLSX, or spreadsheet file. The legacy Markdown files refer to an attached CSV that is not present. Create a new Google spreadsheet from scratch and follow original.pdf, guide.en.md, or guide.en.pdf. Do not create a replacement CSV or follow a nonexistent import procedure.

A formula has a parse error or an unrecognised function.

The supplied formulas use English function names and separators consistent with the Ireland locale. Set Locale to Ireland and paste the formula exactly as shown in the guide. If you choose another locale, adapt function names and separators carefully and consistently; that adaptation is not described by the package.

A source does not appear in the Fonte drop-down list.

The name is missing from Fonti!A2:A, the validation range differs, or the source was entered with inconsistent spelling. Add the unique source name to column A of Fonti first and confirm that Transazioni validation points to Fonti!A2:A. Select it from the list rather than typing it again.

Anno and Mese remain blank.

There is no date in column A, or the ARRAYFORMULA formulas are not in H2 and I2. Enter a valid date in Data and check that H2 has the stated YEAR formula and I2 has the stated MONTH formula.

ROI_percent shows a division-by-zero error.

Costo_iniziale_EUR is zero and the standard ROI formula divides by that value. Use the supplied variant containing IF(C2:C=0, , ...) in Fonti!F2. It leaves the metric blank for a source without initial cost.

Ricavo_30g_EUR, Ricavo_YTD_EUR, or Dashboard do not include a row I expect.

The formulas select only Stato equal to Incassato; the name in Transazioni!B must also exactly match Fonti!A and the year must match the applied criteria. Check the row's date, Fonte, Stato, and Anno. Use Incassato only after you have received payment and check the year in Dashboard!B2.

The projection base in Obiettivi is not useful or gives an unexpected result.

The B3 formula uses the last three received months of the current year and may be unrepresentative when fewer than three months of history exist. Enter Base_proiezione_EUR manually in B3, as the guide allows, and treat the result as a hypothetical projection.

Totals in Obiettivi do not match targets or Avanzamento_percent is unavailable.

Target_EUR may be zero, year or month may not match Transazioni, or formulas D2:F2 were not filled down to row 13. Check A2:B13 and C2:C13, enter D2, E2, and F2 as stated, and fill them down through row 13. The F2 formula leaves the ratio blank when the target is zero.

The instructions in the delivered files contradict one another.

The package retains both a detailed four-tab guide and legacy Markdown that describes five sheets and a missing CSV. For setup, use only the detailed structure in original.pdf and its English guides guide.en.md and guide.en.pdf. Use README files only for package and licence notes.

Limits to know

  • The package supplies instructions and formulas, not an operational spreadsheet file, real data, or automatic import.
  • Metrics, ROI_percent, averages, targets, thresholds, and projections depend on data and assumptions you enter. They are informational, not financial advice or promises of results. If you track interest, crypto, or P2P lending, consider risk of loss and consult a professional for financial decisions.
  • The legacy Markdown contains Italian tax and flat-rate-regime references. Do not use them to calculate tax or make tax decisions; obtain current professional advice for your jurisdiction.
  • The spreadsheet may contain personal, financial, or commercial data. Apply data minimisation, access controls, suitable retention, and applicable privacy duties, including GDPR where relevant.
  • The package does not perform scraping. If you record or develop activity that collects data from websites, comply with terms of service, robots.txt, lawful bases, data-protection duties, and applicable rate limits.
  • Ideas in the guide involving AI content or workflows do not replace human review: always check accuracy, rights, and suitability before publishing AI-generated content.

Frequently asked questions

Does the package include a ready-made Google Sheet, CSV, or XLSX?

No. Archive verification found five Markdown files and two PDFs, with no CSV, XLSX, or spreadsheet template. You must create the spreadsheet manually from the detailed guide.

Which delivered files are Italian and which are English?

Italian-only files are originals/README.md, originals/dashboard-entrate-passive.md, and original.pdf. English files are english/README.en.md, english/dashboard-entrate-passive.en.md, guide.en.md, and guide.en.pdf. The detailed English guides deliberately retain Italian tab, column, and status names.

Which documentation should I follow when the files differ?

Use original.pdf or guide.en.md and guide.en.pdf for the four-tab setup. dashboard-entrate-passive.md and dashboard-entrate-passive.en.md are legacy five-sheet instructions and refer to a CSV that is not included.

Does the spreadsheet automatically retrieve payments or platform data?

No. You enter data manually. The package contains no integrations, APIs, bots, scripts, or connectors.

Why does a Pendente row not appear in the dashboard total?

The main supplied formulas filter for Stato equal to Incassato. Pendente is used to keep payment not yet received separate.

Can I rename tabs or translate statuses?

You can customise your own spreadsheet, but the supplied formulas refer to Transazioni, Fonti, Dashboard, Obiettivi, and Incassato. If you change them, update every affected formula consistently; that adaptation is not detailed in the package.

Is the twelve-month projection a reliable forecast or a guarantee?

No. It is a compound calculation built from Base_proiezione_EUR and Tasso_crescita_mensile that you choose. The guide's values are illustrative and are not financial, tax, or investment advice.