Treasurer or president
Set this year's budget, or import last year's
Enter the budget your membership adopted, or read it straight out of the spreadsheet the last treasurer left you, and then read actual against it all year.
When you are done
Your fiscal year has a budget line for each category the board voted, every line carries the meeting that adopted it, and the budget page shows actual against budget as the year runs.
Who else you need
The budget itself is not yours to decide. Adopting and amending it belongs to the membership rather than the board in most PTA bylaws and most independent PTO standing rules, so what you record here is the outcome of a vote somebody else took. PTO HQ refuses a budget line with no adoption date and no meeting named against it, for exactly that reason. Recording the vote in the minutes is the secretary's job; see the meetings guide.
Import last year's spreadsheet instead of retyping it
A treasurer arriving in June with last year's budget in a spreadsheet is the commonest way this starts. The importer reads that file rather than asking you to key it again.
Open Budget in the left sidebar and find Import a budget.
Choose a .csv, .tsv or .txt file, or paste the rows straight into the box.
Pasting is the faster path out of a spreadsheet: select the two columns, copy, paste. PTO HQ counts tabs against commas across the file to decide which one separates your columns, so a pasted sheet and a saved CSV both read correctly.
Press Read it, and check the table it shows you before anything is saved.
Nothing is written until you commit. The table is what PTO HQ thinks your file says.
Fix any row marked unmatched by choosing one of your own categories on it, or leave the row out.
A row is matched by name against your chart of accounts. PTO HQ refuses the import outright if nothing matched: "None of those lines point at a category and fund in your own chart of accounts."
Choose a fund for each row.
Enter the fiscal year, the date the board adopted it, and which meeting.
All three are required. "Name the meeting that adopted it — every budget line records which vote carried it."
Commit the import.
| Status | What it means | What to do |
|---|---|---|
| Ready | The name matched a category in your chart of accounts | Nothing |
| Unmatched | PTO HQ read the row but the name matches no category of yours | Pick a category, or leave the row out |
| Unreadable | The amount on that row is not a figure PTO HQ can read | Correct it in the file, or leave the row out |
Know what the import replaces
Committing an import replaces every budget line already recorded for that fiscal year. It is not a merge.
- Import into the year you mean. Choosing a year that already has a budget discards what is there and writes the file's rows in its place.
- The import is written to the audit log with your name, so the board can see the budget was loaded from a file rather than typed.
- Amendments recorded after an import are separate records and are not affected.
Enter a budget by hand instead
Add the categories first, on the chart of accounts.
A budget line points at a category and a fund, so both lists have to exist before a line can.
On Budget, add one line per category with the amount the membership voted.
Give the amount as a positive figure. Whether it is income or spending comes from the category's own kind, not from a sign you type. PTO HQ refuses a negative: "Give the amount as a positive figure."
Give the adoption date and name the meeting on every line.
Both are required on a hand-entered line exactly as they are on an import.
- PTO HQ refuses an implausible figure rather than storing it: "That is larger than any PTO budget line. Check the figure."
Read actual against budget during the year
Open Budget to see each line with what has been spent or taken in against it, and what is left.
Open Reports, then Budget versus actual by line, for the same figures on a sheet you can print for a meeting.
- Money you are holding for somebody else is not income and stays off the budget. See the guide on money you are holding.
- A transfer between two of your own accounts is excluded too, so moving money from checking to savings cannot make a budget line look met.
Record an amendment when the membership changes a line
Record the amendment against the line the membership changed, with the date of that vote.
Tick the adoption mark on the meeting where the vote happened.
An amendment counts as evidenced only when a marked meeting carries that exact date. See the meetings guide.
Open Reports, then Budget amendments, and confirm the amendment reads as evidenced before your board spends against the new figure.
- Print the budget amendment request and motion record from Forms. Fill in the top half before the meeting from figures the books already hold, and have the secretary fill in the bottom half during it.
How to check it worked
- The budget page lists one line per category with the amount you recorded.
- Each line names the date it was adopted and the meeting that adopted it.
- After an import, the number of lines matches the number of rows you left in, not the number of rows in the file.
- The audit log carries a line naming you and the import.
If it did not work
| What you see | What it means | What to do |
|---|---|---|
| "None of those lines point at a category and fund in your own chart of accounts." | Not one row's name matched a category you hold, so committing would write nothing. | Add the categories on the chart of accounts first, or pick a category by hand on each row. A brand-new organization starts with a chart, but the names on it are unlikely to match another board's spreadsheet. |
| "There is nothing ready to import." | Every row is unmatched, unreadable, or set to be left out. | Set a category on at least one row, or correct the amounts the file could not read. |
| "That budget could not be read. Upload the file again." | The parsed file the form was holding is no longer available to the server. | Choose the file or paste the rows again, press Read it, and commit without leaving the page in between. |
| "Choose which fiscal year this budget is for." | The fiscal year box is empty. | Enter it as two four-digit years joined by a hyphen, for example 2025-2026. |
| "Give the date the board adopted this budget." or "Name the meeting that adopted it." | A budget line records which vote carried it, and one of the two is missing. | Fill both in. If the vote has not happened yet, wait: a budget line with an invented adoption date is worse than no budget line. |
| "That is larger than any PTO budget line. Check the figure." | The amount is above the ceiling PTO HQ will accept on one line. | Check for a misplaced decimal point or a thousands separator the file used that PTO HQ read as digits. Split a genuinely large line across the categories it covers. |
| The importer read every row as one column. | Nothing in the file separated the columns that PTO HQ recognizes. | Save the sheet as CSV, or copy the two columns out of the spreadsheet and paste them, which carries tabs between them. |
| The budget for the year you imported into is gone. | Committing an import replaces every line for that fiscal year. | Re-import the correct file into that year, or re-enter the lines by hand. The audit log records both imports so the board can see what happened. |
This isn't legal, tax, or insurance advice. Confirm filing dates, bonding conditions, and your state's requirements with your CPA, your state PTA, and your insurer.