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
16 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. The current approved form also carries 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 is to turn a stack of Victorian OC fee-notice PDFs into a working per-lot, per-period spreadsheet that an investor, committee member, or accountant can sort, reconcile, and hand over at year-end. That register does not exist if the data sits in PDFs.

Use the notice as the source of truth for a per-lot, per-period register: issue date, fee period, FeeType, LotLiability, LotEntitlement, NoticeStage, due date, penalty-interest fields, amount paid, and amount outstanding.

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.

Current approved fee-notice fields to preserve

The current Consumer Affairs Victoria approved fee notice form includes hardship, National Debt Helpline, and dispute-resolution information, so a current notice stack should preserve those fields in the spreadsheet.

For owners auditing a multi-year stack, the practical reading is that the form can change over time. Older notices should be entered as they were issued; current disclosures do not need to be backfilled into older spreadsheet rows.

That makes one column load-bearing: the notice issue date. On a single-period stack, the issue date is bookkeeping. On a stack that spans more than one version of the form, it explains why the document fields shift. Carry it as a proper date column from the start, so disclosure questions can be answered by date filter rather than by manually sorting PDFs.

From an owner's or bookkeeper's desk, the rule is simple: record the notice as issued and let the spreadsheet preserve the date, fields, and blank disclosure columns where they genuinely belong.


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 an OC manager's fee register can map the form 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.

Special fees, often treated by owners as extraordinary levies, are the other fee type on the same form. They 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, such as a roof replacement, a special insurance excess after an incident, or 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. Keeping annual and special fees as separate FeeType rows preserves three checks: tax or rental-schedule review, cash-flow forecasting, and reconciliation to the AGM minutes or special-fee 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. For a worked example, a total budgeted fee of $40,000, a lot liability of 25, and a total lot liability of 200 gives 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 escalation 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.

Penalty-interest tracking 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.

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.

Manager-to-manager variation is what changes the effort. The approved fields are fixed, but layout, branding, field order, explanatory notes, manager contact placement, and lot-share calculation display vary. The column structure above absorbs that variation because it is anchored to the prescribed field set, not to any one manager's template. For a closer Australian comparison, the Queensland body corporate contribution notice workflow shows the same state-specific notice-to-spreadsheet pattern with different fee vocabulary, due-date rules, and fund labels.

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 is keeping many Victorian OC fee notices in one investor spreadsheet: every manager's notice looks different, and per-notice attention becomes the bottleneck as the stack grows.

At this scale, load the PDF stack, extract the prescribed fields into the column structure above, and export one Excel, CSV, or JSON file. The value is consistency across managers: the same fields land in the same columns even when the notices look different. 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.

Decision rule: single-lot owners usually need the template-and-manual route; multi-lot, multi-manager owners usually need route 3.


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. When a lot changes hands mid-period, the fee gets pro-rated between vendor and purchaser on the conveyancer's settlement statement; pulling those pro-rated OC fees and other settlement adjustments off a PEXA Financial Settlement Schedule into a spreadsheet closes the loop between the fee roll and the day ownership transfers.

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 fee roll feeds the same OC accounts as the supplier-invoice AP register, so the income-side and expenditure-side records need the same scheme and fund discipline.

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