Extract VIC Owners Corporation Fee Notices to a Spreadsheet

Extract Victorian owners corporation fee notices to a spreadsheet — annual and extraordinary fees as separate rows, with s31/s32 escalation tracked.

Published
Updated
Reading Time
21 min
Topics:
Industry GuidesReal EstateAustraliaOwners CorporationFee NoticesExcel

A Victorian owners corporation fee notice is the document that tells a lot owner what they owe the OC, by when, and under which section of the Owners Corporations Act 2006 (Vic) the fee was struck. According to Consumer Affairs Victoria's owners corporation fees guidance, under the Owners Corporations Act 2006, a Victorian owners corporation fee notice must give the lot owner 28 days from the date of the notice to pay, after which an s32 final fee notice may be issued and penalty interest may accrue. From April 2025, the approved form must also carry hardship and dispute-resolution disclosures, including the National Debt Helpline (1800 007 007) and the Dispute Settlement Centre of Victoria.

The operational task this article addresses is narrower than what the regulator and the legal blogs cover. The aim here is to extract VIC owners corporation fee notice to spreadsheet form — to take a stack of approved-form notices and turn them into a working per-lot, per-period register that an investor can sort by due date, an OC committee can reconcile against bank receipts, and an accountant can hand to a client at year-end. That register does not exist if the data sits in PDFs.

What follows walks the document and the spreadsheet in tandem. First, the April 2025 change to the approved form, because owners auditing legacy stacks need to know which mandatory disclosures should appear on which notices. Then a field-by-field map of every line on the s31 form to a column in the spreadsheet. Then three data-modelling decisions that make a multi-notice tracker usable rather than just storage: annual fees and extraordinary fees as separate rows under a FeeType column, the lot liability calculation with both lot liability and lot entitlement carried as columns, and the s31 to s32 to recovery escalation tracked under a NoticeStage column with penalty interest sitting beside it. Then the reality that the same approved form looks different across the major Victorian OC managers, and what that means for the column structure. Then three concrete extraction routes from PDF stack to working spreadsheet, with honest fit guidance for each. Finally, the issuer-side fee roll, because the OC committee member or manager maintaining the OC's own records works from the same source documents but aggregates them the opposite way.

The scope is Victoria-specific throughout. The vocabulary is Victorian — owners corporation, fee, annual fee, extraordinary fee, final fee notice, lot liability, plan of subdivision, approved form. Readers who came here looking for the New South Wales equivalent should follow the NSW strata levy notice spreadsheet workflow instead; the SSMA 2015 vocabulary, the 30-day window, and the NSW notice form are different enough that mixing them into one tracker creates more problems than it solves.

What changed in the approved fee notice form in April 2025

In April 2025, Consumer Affairs Victoria updated the approved fee notice form to add three mandatory disclosures that did not previously appear on every notice: a hardship-payment-plan statement, the National Debt Helpline contact (1800 007 007), and the Dispute Settlement Centre of Victoria contact. Every compliant s31 fee notice issued from April 2025 forward should carry all three.

For owners auditing a multi-year stack, the practical reading is that the form has moved on, not that older notices were defective. A pre-April-2025 fee notice that lacks the hardship statement was issued under the version of the approved form that applied at the time. It is not retroactively non-compliant. The disclosures appear on notices dated April 2025 or later; they do not need to be backfilled into the spreadsheet entries for older periods.

The April 2025 approved form OC fee notice changes do, however, make one column in the spreadsheet load-bearing in a way it would not otherwise be: the notice issue date. On a single-period stack, the issue date is bookkeeping. On a stack that straddles April 2025, it is the field that explains why the structural shape of the document shifts halfway through. Carry it as a proper date column from the start, and the audit question — "should this notice have shown the hardship statement?" — answers itself by date filter rather than by manual sort through PDFs.

The legal commentary that dominates the SERP for this change reads it as a compliance issue for OC managers. From an owner's or bookkeeper's desk, it is simpler than that. The current desk-document carries the three disclosures named above; older notices in the stack do not; the spreadsheet's date column carries the cut-off.


Field by field: every line on the approved form and where it lives in your spreadsheet

The approved form's field set is fixed by Consumer Affairs Victoria and the Owners Corporations Regulations 2018 (Vic), which means a Victoria OC manager fee register approved form maps cleanly to a spreadsheet header row. Every visible field on the s31 notice has a column. Read the form top to bottom, populate the columns left to right, and the per-notice work becomes mechanical.

Field on the approved formSpreadsheet column
Owners corporation nameOCName
Plan of subdivision number (e.g. PS123456X format)PlanOfSubdivision
Lot numberLotNumber
Owner nameOwnerName
Owner postal addressOwnerAddress
Fee period covered, start dateFeePeriodStart
Fee period covered, end dateFeePeriodEnd
Notice issue dateNoticeIssueDate
Total budgeted fee for the periodTotalBudgetedFee
Lot liability number for this lotLotLiability
Total lot liability for the planTotalLotLiability
Calculated lot share (dollar amount owed)LotShare
Due date (28 days from issue)DueDate
Penalty interest rate, where the OC has resolved to apply itPenaltyInterestRate
Hardship contact statementHardshipContact
National Debt Helpline contactNDHContact
Dispute Settlement Centre of Victoria contactDSCVContact
OC manager contact detailsOCManager
Payment options listed on the noticePaymentOptions

A few practical hygiene notes worth applying up front. Keep LotLiability and TotalLotLiability as integers, not formatted percentages — the percentage is what the lot-share calculation produces from the two integers, and storing it as a derived value rather than an input keeps the audit clean. Keep TotalBudgetedFee and LotShare as currency-typed numeric fields, not text, so currency totals across a portfolio sum without coercion. Keep NoticeIssueDate, FeePeriodStart, FeePeriodEnd, and DueDate as native date values rather than typed strings — this is what lets the spreadsheet later filter for overdue items and sort the portfolio by upcoming due date without parsing strings on every read.

The hardship, NDH, and DSCV contact columns can be free-text fields rather than separate phone-number and address columns. The detail on the form rarely varies between notices issued by the same manager once the April 2025 form is in use, so most rows in those columns will repeat. The reason to carry them anyway is the audit reading from the previous section: a row where one of those columns is blank is a row issued before April 2025, which is information the spreadsheet should preserve rather than discard.

Annual fees and extraordinary fees: separate rows, one FeeType column

Annual fees are the budgeted, recurring contributions struck at the AGM to fund the OC's expected operating expenses for the year — insurance, repairs and maintenance reserves, manager fees, common-area utilities, and so on. They are typically billed in periodic instalments (commonly quarterly) and the total for the year is what the AGM approved.

An extraordinary fee notice OC Victoria readers will recognise is the other beast on the same form. Extraordinary fees are one-off levies authorised under s24 of the Owners Corporations Act 2006 (Vic) for specific unbudgeted expenditure that the AGM budget does not cover — a roof replacement that the maintenance reserve did not anticipate, a special insurance excess after an incident, a one-off legal cost. They require a special procedure separate from the AGM budget vote and additional disclosure compared with annual fees.

Both can sit on the same approved-form notice. The notice is still issued under s31 — there is no separate "extraordinary fee notice" document type — but the underlying authorisation lives at s24. That distinction is what the spreadsheet needs to preserve.

The data-modelling decision is to keep them as separate rows under a FeeType column, with values FeeType = Annual or FeeType = Extraordinary. A single row that adds them together quietly discards the procedural history and makes year-end work harder than it needs to be. Three reading questions break the moment the rows are merged: deductibility analysis (extraordinary capital-improvement levies and recurring annual fees can sit differently in a rental schedule), cash-flow forecasting (annual fees recur predictably, extraordinary ones do not), and reconciling the spreadsheet against AGM minutes (annual fees trace to the budget vote, extraordinary ones trace to a separate s24 resolution).

The disambiguators when both fees apply to the same period are the fee period itself and the AGM resolution that authorised each one. The notice should make this readable; well-prepared notices break the dollar amount out into its annual and extraordinary components rather than presenting one combined figure. Where a notice does combine them, the AGM minutes are where the split is recoverable. Splitting them on entry costs a few seconds per notice; merging them after the fact costs minutes per row, multiplied by every period in the spreadsheet.

The FeeType column also keeps the escalation logic intact across both fee types. An extraordinary fee that goes unpaid escalates through the s31, s32, and recovery sequence the same way an annual fee does, but the rows the escalation produces stay distinguishable because FeeType travels with them.

The lot liability calculation, and why lot liability is not lot entitlement

A lot's annual fee equals the total budgeted fee multiplied by the ratio of that lot's lot liability to the total lot liability for the plan of subdivision. As a worked lot liability share calculation Victoria spreadsheet readers can pin against their own notice: a total budgeted fee of $40,000, a lot liability of 25, and a total lot liability of 200 yields a lot share of 25 ÷ 200 × $40,000 = $5,000. The numbers are illustrative; the formula is the one to remember.

The columns the spreadsheet needs to make this auditable are the three integer-or-currency inputs and the resulting dollar amount. LotLiability and TotalLotLiability go in as integers, exactly as they appear on the plan of subdivision schedule. TotalBudgetedFee and LotShare go in as currency. LotShare can either be entered straight from the notice or computed from the other three columns; either way works, and entering both gives a free check that the notice's calculation matches the formula.

What makes carrying all four columns worth the data-entry minute is what shows up between periods. When the percentage implied by LotLiability ÷ TotalLotLiability shifts from one period to the next on the same lot, something has changed — and it is the spreadsheet's job to make that visible. When LotShare diverges from the same percentage applied to the prior period's TotalBudgetedFee, the OC has either revalued the budget, varied the lot liability schedule, or both. Reading that off a stack of PDFs is how anomalies hide; reading it off four columns in a tracker is how they surface.

Lot liability is not lot entitlement, and the lot liability vs lot entitlement Victoria distinction is the one most likely to confuse a reader who has heard the terms used interchangeably. Lot liability governs each lot's share of fees — the calculation above. Lot entitlement governs voting weight at general meetings and the lot's share of common-property ownership. Both are set on the plan of subdivision and the two can differ. On many plans they are equal because the developer schedule treated the lots as economically equivalent, but they need not be — and where the original developer schedule favoured certain lot types over others (penthouses over standard apartments, for example), the difference can be substantial.

The practical consequence is that fee-share questions and voting-share questions should be answered from the same register without confusion. Carry both LotLiability and LotEntitlement as columns. The fee calculation reads against LotLiability; the AGM voting check reads against LotEntitlement; neither column has to be re-derived from the other.

A reading rule for the LotLiability ÷ TotalLotLiability percentage between periods. If it shifts and there is no formal record of the OC varying the schedule, treat the new value as a data-entry error and re-check the notice. If it shifts because the OC formally varied the schedule — which in Victoria typically happens via court or VCAT order and is uncommon in practice — record the period it took effect and carry the change forward. Either way, the spreadsheet gives the reader the question to answer; the PDF stack does not even raise it.

Tracking the s31 to s32 to recovery path: the NoticeStage column and penalty interest

A notice is not a static record. The same fee, against the same lot, in the same period, can move through three stages — and the spreadsheet has to record where each one currently sits, not just the dollar amount it started at. The s31 fee notice s32 final fee notice approved form sequence breaks down cleanly:

  • Stage 1 — s31 fee notice. The initial fee notice, issued under the approved form, gives the lot owner 28 days from the issue date to pay.
  • Stage 2 — s32 final fee notice. Issued by the OC after the s31 window closes unpaid. Also under an approved form. Opens an additional 28-day window during which penalty interest may accrue, where the OC has resolved to apply it.
  • Stage 3 — recovery. If the fee remains unpaid after the s32 window, the OC may pursue recovery action, which in Victoria typically runs through the Owners Corporations List of the Victorian Civil and Administrative Tribunal (VCAT), or via debt-recovery proceedings.

The spreadsheet treatment is a NoticeStage column with values s31, s32, or Recovery, alongside the issue date and due date for the relevant stage. The audit-trail rule matters: when a notice escalates, do not overwrite the prior row. Add a new row tied to the same lot and fee period, advancing NoticeStage and recording the new dates. The combination of LotNumber, FeePeriod, FeeType, and NoticeStage uniquely identifies any one row in the register, which is what lets the spreadsheet show both that a fee was eventually paid and that it took an s32 to get there.

OC penalty interest tracking Victoria is the data point that sits beside NoticeStage. Penalty interest applies only when the OC has resolved to apply it, typically by AGM resolution — there is no automatic statutory rate that kicks in regardless. Where an OC has resolved on a rate, that rate must be disclosed on the notice itself. Three columns make the figure auditable: PenaltyInterestRate (the per-annum rate from the notice), OverdueDays (days past the original s31 due date, computed from today's date or a reconciliation date), and PenaltyAccrued (the calculated amount).

Simple-interest is the right calculation for tracking purposes. Take the LotShare, multiply by the PenaltyInterestRate, multiply by OverdueDays divided by 365. The figure the OC manager certifies for a recovery proceeding may use a slightly different convention (compounding, or a different day-count basis), but the spreadsheet's job is to surface the issue early enough that the owner can act before it grows, not to reproduce the recovery figure to the cent.

The reading the column structure now supports is a portfolio-level overdue scan. NoticeStage = s32 with a climbing PenaltyAccrued is the row that goes to the top of the pay-this-week list. NoticeStage = Recovery means the conversation has moved to VCAT and the spreadsheet's job has shifted from payment management to record-keeping for the proceeding — the columns that matter become the dates and amounts the tribunal will look at, and a free-text Notes column is worth adding for matter numbers and hearing dates.


Why the same approved form looks different across VIC OC managers

The approved form is prescribed by Consumer Affairs Victoria, and its field set is fixed by the Owners Corporations Regulations 2018 (Vic). The fields a compliant fee notice must carry — owner, lot, plan of subdivision, fee period, lot liability, due date, and the rest — are not a matter of OC manager preference.

What is not prescribed is everything around those fields: the layout, the branding, the order of fields within each block, the wording of explanatory notes around the mandatory disclosures, where the OC manager's contact details sit on the page, and how the lot-share calculation is presented. Some notices show the formula explicitly, some show only the final dollar amount, some show both with a footnoted breakdown that walks the maths. None of these choices are non-compliant; they are presentation decisions inside a fixed shell.

A multi-lot owner whose stack has come from several different managers will recognise three rough categories rather than a manager-by-manager directory. Larger national or state-wide managers tend to ship tightly designed templates that stay consistent across their entire portfolio, which makes their notices the easiest to read but means the template's idiosyncrasies repeat across every lot the firm manages. Smaller boutique managers ship templates that are sometimes spreadsheet-rendered and look more workmanlike — fields in the right places, less branding, occasionally a layout that has clearly been adjusted by hand for a specific OC. DIY OCs that issue their own fee notices tend to use a Consumer Affairs Victoria-derived template directly, which usually means the form's fields are present and correct but the overall presentation is plainer.

The column structure from the field map absorbs all of this without modification. LotNumber is LotNumber whether it sits in a top-left header block or buried in a footer; LotLiability is LotLiability whether it shows up as an integer in a sidebar or as part of a calculation footnote. The mapping holds because it is anchored to the prescribed field set, not to any one manager's layout. What the variation does change is the data-entry friction per notice — a less consistent template costs more attention, which is the practical concern when the extraction is being done by hand or through a single manager's portal export.

The same shape of problem turns up in other jurisdictions too. UK residential service charge year-end reconciliation is the closest international analogue: a separate statute (the Landlord and Tenant Act 1985), the statutory year-end summary of costs each leaseholder is entitled to, and the same multi-format reality across managing agents. A bookkeeper handling year-end accounts for an offshore client whose holdings span both jurisdictions will recognise the column-structure-absorbs-the-variation move as the same workflow under different vocabulary.


Three routes from PDF stack to working spreadsheet

The right extraction route depends on two questions: how many lots the reader holds, and whether those lots are managed by one OC manager or several. The three routes below are listed in increasing-friction-of-the-stack order, with honest fit guidance for each.

Route 1 — manual entry into a templated spreadsheet. Build the column structure once (the field map plus FeeType, NoticeStage, LotLiability, LotEntitlement, and the penalty-interest columns), then populate it row by row from the notice PDFs. The fit is one to three lots managed by a single OC manager whose template stays consistent. The friction is per-notice attention, but the volume is low enough to absorb in the half-hour after each notice arrives. A Victorian OC investor fee tracker spreadsheet maintained this way works fine indefinitely; over-engineering the workflow at this scale is wasted effort.

Route 2 — per-OC-manager portal export. Some OC managers offer an owner-portal export — typically a CSV download of fees raised, paid, and outstanding for the lots a given owner holds. Where it exists, it removes the per-notice transcription step entirely. The fit is when every lot is with the same OC manager and that manager offers the export. Smaller managers and DIY OCs typically do not; larger managers vary, and the export coverage often does not extend to the historical fields the spreadsheet wants (lot liability schedule snapshots, AGM resolution links, penalty interest rate at the time of escalation). The precondition that breaks this route is multiple managers — a single firm's portal does not reach across the multi-manager case.

Route 3 — batch extraction across the multi-format notice stack. When the investor holds four-plus lots across multiple OC managers, or when an OC manager is onboarding a new client whose legacy stack has notices issued under prior managers, manual entry stops scaling. The work to keep multiple OC fee notices Excel investor Victoria readers want in a single register is real — every notice is a different shape, and per-notice attention multiplied by the size of the stack is the bottleneck.

The workflow at this scale is straightforward in principle: load the full PDF stack, extract every prescribed field on every notice into one consistent column structure, hand off to the working spreadsheet. The output is the same shape regardless of which OC manager issued each notice — that is exactly the property the column structure was designed for, and it is the property a manual workflow has to hand-build for every stack. The natural-language-prompt approach our AI-powered owners corporation fee notice extraction uses for this case names the columns the earlier sections built up (FeeType, NoticeStage, LotLiability, LotEntitlement, NoticeIssueDate, the penalty-interest trio, and the rest) and produces a single Excel, CSV, or JSON file from the mixed-format stack. The same prompt produces the same column structure whether the next stack is ten notices or ten thousand.

The same shape of problem turns up across other Australian financial-document workflows — consolidating Australian multi-site utility bills into Excel is the same multi-format-stack-to-normalised-spreadsheet pattern in a different document class, with the same per-format friction the column structure is designed to absorb.

A one-line decision aid for the cohort. Single-lot owners should not over-engineer; the template-and-manual route is correct for them. Multi-lot multi-manager owners should not under-engineer; route 3 is what scales.


The other side of the same notice: the OC's per-lot fee roll

The investor's tracker rolls up by owner — rows per lot held by that owner, across periods. The OC's own records roll up the opposite way: rows per lot within the plan of subdivision, every period, every fee struck against it, regardless of who owns each lot. Same source documents, same prescribed field set, opposite aggregation.

The fee roll keeps the same column set established earlier — the field map plus FeeType, NoticeStage, LotLiability, LotEntitlement — but adds aggregation columns the investor's tracker does not need. AmountReceived records what has actually come in against each fee. AmountOutstanding is the difference between LotShare and AmountReceived once part-payments are accounted for. ReceivedDate carries the date payment cleared, which is what the spreadsheet uses to recalculate OverdueDays back to zero when a row clears. A status column mirroring NoticeStage but reframed from the issuer's side reads more naturally with values like Issued, Final-Issued, In Recovery, Paid, and Written Off.

The reconciliation question the fee roll has to answer is whether the per-lot ledger sums match the OC's bank receipts and the AGM-approved budget for the period. AmountReceived summed across lots in a period should equal what the OC's bank statements show in fee receipts for that period. LotShare summed across lots in a period should equal the TotalBudgetedFee for the period. When either reconciliation fails, the discrepancy is what the spreadsheet exists to surface.

The OC committee or manager who maintains the fee roll on the income side typically also maintains the OC's accounts payable register on the expenditure side — supplier invoices for insurance, maintenance, utilities, professional fees. Both sides feed the same set of OC accounts and ultimately the audited annual statements. The receipts side and the payables side share the same record-keeping discipline regardless of jurisdiction; the cross-jurisdiction view is worth a look, and HOA and community association accounts payable covers the issuer-side AP companion to the fee-roll workflow described here.

Extract invoice data to Excel with natural language prompts

Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.

Exceptional accuracy on financial documents
1–8 seconds per page with parallel processing
50 free pages every month — no subscription
Any document layout, language, or scan quality
Native Excel types — numbers, dates, currencies
Files encrypted and auto-deleted within 24 hours
Continue Reading