Extract NSW Strata Levy Notices to a Working Spreadsheet

Extract NSW strata levy notices into one working spreadsheet — admin fund, capital works, and special levies as separate rows with the 30-day notice rule.

Published
Updated
Reading Time
17 min
Topics:
Industry GuidesReal EstateAustraliaStrataLevy NoticesExcel

A NSW strata levy notice carries a lot's contribution to either the administrative fund or the capital works fund, struck under the Strata Schemes Management Act 2015. To get a stack of NSW strata levy notices into a single working spreadsheet, capture the lot number, strata plan number, fund type, levy amount, issue date, due date, unit entitlement share, and interest rate on overdue contributions on each row. Administrative fund and capital works fund contributions stay on separate lines, special levies track as their own row type, and NSW law requires owners to receive at least 30 days' notice for standard levies — reduced to 14 days for emergency repair levies.

The working artefact every owner, treasurer, or strata-heavy bookkeeper needs is a register: one consistent table of every contribution raised against every lot, with the columns that reconcile, audit notice timing, and aggregate at tax time. Below is the field set every NSW levy notice carries and the column it maps to in that register.

Field on the noticeSpreadsheet columnType
Lot numberLotNumberinteger
Strata plan number (e.g. SP123456)StrataPlanNumbertext
Owners corporation nameOCNametext
Owner nameOwnerNametext
Service addressOwnerAddresstext
Fund the contribution applies toFundType (Administrative / Capital Works / Special)enum
Levy amountLevyAmountcurrency
Date issuedIssueDatedate
Due dateDueDatedate
Period's total budgeted fund contributionPeriodBudgetedContributioncurrency
Lot's unit entitlementUnitEntitlementinteger
Aggregate scheme unit entitlementAggregateUEinteger
Payment optionsPaymentMethodstext
Interest rate on overdue contributionsInterestRatepercentage
Financial Hardship Information Statement presentHardshipStatementPresentboolean

A few of those columns deserve a moment's attention. FundType is enum-typed because each notice line is allocated to exactly one of three funds, and tracking the enum (rather than a free-text label) is what makes the funds split clean to aggregate later. UnitEntitlement and AggregateUE are paired because the per-lot contribution share is derived from their ratio. HardshipStatementPresent is a boolean rather than the statement's text because NSW now requires every levy notice to carry the statement, and the column doubles as a compliance audit signal: a missing statement is itself a flag worth investigating, particularly on notices from self-managed schemes.

Administrative Fund and Capital Works Fund as Separate Lines

Most NSW quarterly levy notices show two contribution lines, not one. The administrative fund line covers day-to-day operating expenses — building insurance, cleaning, gardening, strata management fees, lift servicing contracts, minor repairs — which the owners corporation has to fund continuously to keep the scheme running. The capital works fund line covers longer-horizon major works the OC accumulates for over years rather than months: repainting, lift replacement, fire safety upgrades, balustrade rectification, waterproofing remediation. Both contributions sit on the same notice and are struck at the same AGM under the contribution motions authorised by SSMA 2015 sections 81 and 83, but they answer different financial questions and they should be tracked as separate rows.

The cleanest register shape is one row per fund-line per notice: the same IssueDate, DueDate, and LotNumber repeated across two rows, with FundType distinguishing the administrative line from the capital works line, and LevyAmount carrying that line's dollar figure. The alternative — collapsing both onto one row with AdminAmount and CapitalWorksAmount columns side by side — looks tidy on a small portfolio, but it stops working as soon as special levies arrive (which appear on their own notice and don't fit a paired-column row), as soon as one fund is paid before the other, or as soon as a credit note adjusts a single fund line. One row per fund-line scales; the paired-column shape doesn't.

For investors holding strata as rental property, both administrative fund and capital works fund contributions are generally deductible as rental expenses in the year paid, on a cash basis rather than an accrual basis. The deductibility detail — what's claimable, what's apportioned, what's capital — belongs with the ATO's rental property guidance and a qualified accountant; the register's job is to capture the data accurately so the tax determination has clean inputs.

One terminology point catches readers with longer-running portfolios: older notices use the phrase sinking fund rather than capital works fund. The label changed when the Strata Schemes Management Act 2015 commenced; the underlying purpose is unchanged. When extracting historical notices into the same register as current ones, normalise both labels to Capital Works in the FundType column so longitudinal aggregation works without filter conditions on a legacy term. The same admin-versus-capital-works distinction governs the payables side as well — every supplier invoice the OC receives has to be allocated to one fund or the other before it can be approved, and the coding rules a strata manager applies when splitting supplier invoices between admin and capital works fund across NSW, QLD and VIC schemes mirror the receivables-side fund split this register tracks.

The notice usually shows the period's total budgeted contribution for each fund alongside the per-lot share — sometimes labelled "annual contribution", sometimes "period contribution", sometimes just appearing in a header above the per-lot line. That total goes in PeriodBudgetedContribution. Treasurers reconcile that figure against the budget motion that authorised it at the AGM, which is how the contribution roll closes the loop back to the resolution. Investors mostly only need the per-lot amount, but the total still belongs in the register because the unit entitlement check in a later section uses it.

Special Levies as Their Own Row Type

A special levy is a contribution raised outside the regular quarterly schedule, typically by an OC resolution at an EGM (or sometimes at the AGM) when an unbudgeted expense exceeds what the existing contribution motion covers. The trigger is usually a major repair shortfall, a legal action, an insurance excess, or a top-up to the capital works fund after an unexpected works program. SSMA section 81(4) is the authority — the OC can raise additional contributions beyond those determined for the year, on the basis of a resolution at general meeting.

The notice itself looks familiar. Special levies are issued on their own notice (not bundled into a quarterly notice), and the notice carries the same fixed field set as a regular contribution notice: lot, plan, fund, amount, issue date, due date, unit entitlement, interest rate. The notice will state which fund the contribution applies to. Capital works fund special levies are by far the most common pattern; admin fund special levies happen but tend to be smaller and rarer.

Where the register has to diverge from the quarterly pattern is in the row type. Set LevyType = Special on the row, with LevyType = Quarterly as the default for regular notices. The reason is per-quarter aggregation: if a special levy gets summed into a quarterly total without the type flag, the quarter looks like a budget overrun even though the special levy is a separately-authorised event. Pivots, formulas, and any BI tool reading the register all benefit from being able to filter or group on LevyType cleanly. A treasurer presenting the contribution roll at committee meetings needs the special levies broken out for the same reason — the roll has to reconcile back to the resolutions that authorised each contribution, and the regular budget motion and the special levy resolution are different motions.

A few patterns that show up repeatedly. Special levies often carry longer due dates than quarterly contributions — 90 days plus is common, structured to give owners time to arrange financing. Larger special levies are frequently raised in instalments, each issued as its own notice and distinguished by IssueDate and DueDate (with a sequence number in Notes when the OC numbers them). And the most common special levy by a wide margin is a capital works fund top-up, because that is where unbudgeted works land.

For investors, special levies are usually deductible in the year paid like ordinary contributions. The exception worth flagging is the special levy raised for an improvement rather than a repair — that can be capital in nature, forming part of the lot's cost base rather than an immediate deduction. The line between repair and improvement is a question for the ATO's guidance and a qualified accountant on a specific case; capturing the special levy with LevyType = Special and a clear note about what triggered it leaves the tax determination running on accurate data.

The 30-Day and 14-Day Notice Rule

Per the NSW Government guidance on strata levies, finances and insurance, NSW law requires owners to be given at least 30 days' notice to pay standard strata levies; the period is reduced to 14 days for emergency repair levies. Section 83 of the Strata Schemes Management Act 2015 is the source rule, and it sits behind every quarterly notice and every special levy notice an OC issues.

The two windows exist because the underlying contributions serve different purposes. Standard levies fund the OC's routine operations — strata management, insurance, cleaning, gardening, planned capital works — and 30 days is the time the legislature allows owners to budget for them. Emergency repair levies address a serious and imminent threat to occupant safety — a lift safety failure, structural defect requiring immediate remediation, fire safety system failure. The shorter 14-day window exists because the underlying repair cannot wait for a standard cycle; the levy and the rectification work move on the same urgent footing.

For the register, the rule operationalises as a column triple. IssueDate and DueDate come straight off the notice; NoticeRuleApplied is an enum that takes either Standard or Emergency per the notice's own disclosure of which rule it was struck under. From those three, the register derives a NoticeDays column as DueDate - IssueDate, and from NoticeDays and NoticeRuleApplied together the register can flag two exception conditions:

  • NoticeRuleApplied = Standard and NoticeDays < 30 — a non-compliant short notice for a routine contribution.
  • NoticeRuleApplied = Emergency and NoticeDays < 14 — a notice claiming the emergency window but not actually meeting it.

Both conditions deserve attention on incoming notices. A non-compliant standard notice is usually a process defect on the OC's side — the strata managing agent's template generated the notice with the wrong send-out date, or the quarterly cycle slipped — and the right response is a written query asking the OC to correct the next cycle. The defect doesn't automatically invalidate the levy, but it weakens the OC's position if a contribution is later disputed at the NSW Civil and Administrative Tribunal, and a treasurer who lets non-compliant notices issue under the OC's name is creating exactly that exposure on the OC's behalf. An emergency-rule notice with NoticeDays < 14 is more serious — the rule explicitly fixes the floor at 14 days even for genuine emergencies, and a notice below that threshold is a written query to the OC for the resolution that authorised it.

One practical wrinkle: the notice should disclose which rule applies, and most strata managers' templates carry the disclosure either inline ("This is a 30-day notice issued under section 83 of the Strata Schemes Management Act 2015") or in a footer block. Self-managed schemes occasionally omit the disclosure entirely, leaving a treasurer or investor to infer the rule from the underlying resolution. The register column captures whichever rule the notice itself disclosed; a missing disclosure is a flag of its own, worth a NotesAdjustments entry recording that the rule had to be inferred and from which document.

Unit Entitlement and the Per-Lot Contribution Share

Every lot in a NSW strata scheme is allocated a unit entitlement on the registered strata plan, and that allocation is what determines the lot's share of contributions and its voting weight at OC meetings. The number is set when the strata plan is registered (or when it's later amended through a strata renewal or subdivision), and it's the same number on every notice issued for the life of the scheme until a re-allocation is registered. Aggregate unit entitlement is the sum across all lots in the scheme; a 24-lot scheme might have an aggregate UE of 1,000, distributed unequally across lots reflecting differences in floor area, position, or use. The lot's contribution share is LotUE / AggregateUE.

The per-lot levy on every notice comes out of one formula:

per-lot contribution = total budgeted fund contribution × (LotUE / AggregateUE)

That's what the OC's strata managing agent runs each time the budget motion at AGM is converted into a stack of quarterly notices. The register reproduces the formula as a check column.

A worked example using realistic numbers. Imagine a 24-lot scheme with aggregate UE of 1,000. One lot has UE of 50 — five percent of the scheme. The OC's annual administrative fund budget is $96,000, struck quarterly at $24,000 per quarter. The lot's quarterly admin contribution is therefore $24,000 × (50 / 1,000) = $1,200. If the next quarterly notice arrives showing $1,260, the register's check column flags the variance immediately. There are three plausible explanations for a variance, and each is worth investigating: the OC's budget may have been re-struck at a recent AGM; the unit entitlement may have been re-allocated through a strata renewal or subdivision affecting some lots; or the notice has an error in either the fund total or the per-lot calculation. All three matter — the first is information the investor should record, the second usually requires the contribution share recalculation to flow through to the register, and the third is a written query to the strata manager.

The columns the formula needs are already in the register from earlier sections: UnitEntitlement (the lot's UE, which is constant per lot until re-allocation), AggregateUE (the scheme's total UE), and PeriodBudgetedContribution (the total contribution for that fund for that period). The derived column is ExpectedContribution = PeriodBudgetedContribution × (UnitEntitlement / AggregateUE), compared against the actual LevyAmount from the notice. Any non-trivial variance — more than a rounding cent or two on the per-lot share — is a flag.

Interest on Overdue Contributions

SSMA prescribes simple interest on overdue strata contributions at 10% per annum, unless the OC resolves at general meeting either to charge no interest or to charge at a lower rate. Most schemes default to the prescribed rate; a minority resolve to waive interest entirely (often in long-running owner-occupied schemes where neighbour relations weigh against debt-recovery posture) or to halve it. The notice itself usually discloses which rate applies, either in the payment-options block or in a footnote referenced from the levy line.

In the register, that disclosure becomes three columns. InterestRate is the rate as disclosed on the notice or recorded in the OC's standing resolution. OverdueDays is a derived column — today's date minus DueDate, conditional on the row representing an actual overdue balance (AmountPaid < LevyAmount). InterestAccrued is also derived, calculated as OutstandingBalance × InterestRate × OverdueDays / 365 for simple-interest schemes. None of those three is extracted directly from the notice; the inputs all are.

Interest accrues from the day after the due date, not from the issue date — so OverdueDays is computed against DueDate + 1, not against DueDate itself. Part-payments reduce the principal the interest is calculated on, which means a row with a payment history needs AmountPaid and OutstandingBalance to update over time and the accrual formula needs to integrate over those changes rather than treat the unpaid balance as static. Treasurer contribution rolls handle this routinely because they're tracking payment history per row anyway; investor registers usually only need the accrual columns when the investor is themselves late on a notice.

Three Routes from Notice Stack to Spreadsheet

Three honest routes get notices into the register. Which one fits depends on portfolio size and how many strata managers issue across the lots, not on a default answer that suits every reader.

Route 1: manual entry into a template. Suitable for one to three lots from a single manager on a quarterly cadence. A workbook with the canonical columns already laid out, the unit entitlement check formula sitting in the ExpectedContribution column, and the 30-day audit derived from IssueDate, DueDate, and NoticeRuleApplied carries quarterly entry to under 10 minutes per notice — open the PDF, copy the fields, paste into the row, let the formulas verify the per-lot share. The failure mode is volume: at four-plus lots or two-plus managers, the format-juggling stops being worth the time.

Route 2: per-strata-manager portal CSV export. Most major NSW managers (PICA CommunityHub, Strata Choice, Bright & Duggan PortalPlus, BCMax) offer owner-login portals with CSV or PDF statements. Within a single manager's scheme the export is consistent and eliminates re-entry. Three constraints: each portal covers only its own schemes (multi-manager portfolios need multiple exports stitched together), retention windows are typically 12-24 months, and the column set rarely matches the canonical schema without a mapping step. Right answer for any portfolio held entirely with one manager.

Route 3: batch extraction across multi-format notice stacks. Notices arrive in different layouts from each manager — PICA, Strata Choice, Bright & Duggan, Netstrata, BCS, and self-managed schemes all label the same SSMA fields differently — so the work in a multi-manager portfolio is normalising those layouts onto the canonical schema before anything else. When the portfolio runs to four or more lots across two or more managers, route 1 is too slow and route 2 doesn't span managers. That normalisation step is exactly what AI-driven document extraction is built for. The user describes the canonical schema in a prompt — LotNumber, StrataPlanNumber, FundType, LevyAmount, IssueDate, DueDate, UnitEntitlement, AggregateUE, InterestRate, NoticeRuleApplied, with the data types and rules each column needs — points the tool at the multi-manager PDF stack, and the output is a single register in XLSX, CSV, or JSON with every notice's data in the right column regardless of source format.

That is the practical option for a portfolio-wide register, and it is where AI-powered invoice and document data extraction fits this workflow. The approach that fits — and what the specification this article is built around describes — is prompt-based: the canonical schema goes into the prompt rather than into a configured template, batches handle up to 6,000 files per session and individual PDFs up to 5,000 pages per file (which matters for treasurers handling a year's worth of notices in a single archive), and mixed formats (PDF native, scanned PDF, JPG, PNG) all feed into the same job. Output is consistent across every document in the batch — the same prompt, run against ten notices or a thousand, produces the same column structure. The investor or treasurer ends up with a single register; the manager-specific layouts disappear into the extraction step rather than into the user's workflow. Investors aggregating data across property-management platforms in other jurisdictions hit exactly this shape of problem, which is why the same tooling works for consolidating AppFolio, Buildium, and Yardi owner statements into a portfolio spreadsheet — the source documents differ, the multi-format normalisation problem is the same.

A compact route-fit summary:

  • 1 to 3 lots, one manager — Route 1, manual entry into a template.
  • Any portfolio entirely with one manager, regardless of lot count — Route 2, the manager's owner portal export.
  • 4 or more lots across multiple managers — Route 3, batch extraction across the multi-format stack.

No single route is universally correct. Mixing routes is fine — a portfolio that grew through acquisitions might run Route 2 against the largest single-manager block and Route 3 across the long tail of single-lot holdings under other managers, with a treasurer's contribution roll for any scheme the reader is also on the committee of.

The schema described here is NSW-specific in its statutory anchors but portable in its working shape. The same destination artefact applies for VIC owners corporation fee notices and QLD body corporate contributions, at conveyancing time on the pre-sale strata disclosure certificate, and at settlement where the Statement of Adjustments pro-rates the same quarterly contributions to the settlement date.

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