Sample document
Scope: School Tuition Ledger
Move the school’s tuition payments off a hand-kept ledger and onto one Google Sheet that n8n keeps up to date, with the head accountant approving every payment.
About this document
A sample of how I write a scope, rebuilt from the School Tuition Ledger project as it was agreed in June 2026. It is not the school’s original document. Names and amounts are left out.
1. Today
- Payments taken at the counter only reach the official ledger when someone copies them over by hand.
- Parents get no consistent receipt or reminder.
- The monthly collection report for leadership is compiled by hand.
- Checking a student’s payment history or balance means searching a physical ledger.
2. Goals
- A confirmed payment reaches the ledger without anyone re-typing it.
- Parents get a receipt after each payment and a reminder before each due date, without staff sending them.
- The principal gets the monthly collection summary without anyone compiling it.
- Any workflow error is reported the same day.
3. Business rules
| Rule | What it means for the build |
|---|---|
| Tuition is billed over ten months, June to March | Each student has ten monthly dues in the ledger. |
| A missed month rolls into the next open month | An unpaid month is carried forward, not listed as its own overdue line. |
| A person approves every payment | One person records a payment, another confirms it. The automation never confirms one on its own. |
| Ledger IDs have no gaps | Each entry takes the next sequential ID. Confirmations are written as one batch so IDs stay in order. |
| No payment is recorded twice | Every write checks for a duplicate first. |
4. In scope
A ledger in Google Sheets with its formulas and scripts, a payment form that lists only real students, and six n8n workflows, one job each:
| Workflow | Runs | Job |
|---|---|---|
| Confirmed Payment Sync | Every 2 min | Writes each confirmed payment to the ledger with a sequential ID and a duplicate check. |
| Parent Payment Email | On confirm | Sends the receipt. Kept separate so a slow email never holds up a ledger write. |
| Monthly Due Reminder | 2 days before | Reminds parents before a due date instead of after it’s missed. |
| Admin Pending Summary | Daily, 4:00 PM | Lists payments still waiting for a decision. Skips the email when nothing is pending. |
| Principal Monthly Summary | 1st of month | Replaces the hand-compiled collection report. |
| Error Alerts | Always on | Watches the other five and reports any workflow error the same day. |
5. Not in scope
- Confirming payments. That stays with the head accountant.
- A custom app. Google Sheets is the system of record for this phase.
- How payments are taken. Cash at the counter and GCash stay as they are.
6. Who does what
| The school | Me |
|---|---|
| Walks me through the current ledger and payment process | Maps the process and writes down the business rules before building |
| Provides the student roster and the existing ledger | Builds the ledger sheet, its formulas and scripts |
| Head accountant reviews and confirms each payment | Builds the six workflows and their error alerts |
| Approves any change to scope | Tests every workflow on the school’s real data before go-live |
7. Timeline
| When | Milestone |
|---|---|
| Week 1 · Jun 15 | First meeting at the school. Walkthrough of the manual ledger. |
| Week 2 | Ledger sheet and payment rules. First workflows: Confirmed Payment Sync, Parent Payment Email, Principal Monthly Summary. |
| Week 2, later | Remaining workflows, once the school approves them: reminders, the daily pending list, error alerts. |
| Week 3 | Existing ledger moved into the new sheet. Every workflow run and monitored on real data. |
| Jul 3 | Go-live on site at the school. |
8. Done means
- Every workflow has run on the school’s real data, including a day with nothing pending.
- Confirmed payments appear in the ledger with no gaps in the IDs and no duplicates.
- Receipts, reminders and both summaries arrive where they should.
- A deliberate failure reaches the error alert the same day.
After go-live, the school reports anything that needs adjusting and I fix it.