Skip to content

Case study · Real estate

An accounting system that knows what a building is

A property business was running leases in spreadsheets and accounts in Business Central, reconciling the two by hand every quarter. We modelled the portfolio inside Business Central so a lease, a service charge and a repair all post against the unit they belong to.

Engagement · Extension & migration

A property layer inside Business Central, replacing a quarterly reconciliation.

Industry
Real estate
Solution
Property operations layer
Platform
Dynamics 365 Business Central
Engagement model
Dedicated product team
Market stage
Established portfolio
Scope
Extension, migration, rollout
Users
Property, finance, surveying
Deployment
Business Central online

Outcomes

What changed once the portfolio lived in the ledger

Property finance is judged on whether the quarter closes cleanly and whether a tenant query can be answered on the call.

  • 85% Faster service-charge reconciliation

    Apportionment runs from the lease terms held against each unit rather than from a spreadsheet rebuilt every quarter by whoever is free.

    Measured against the previous quarterly close

  • 100% Of costs attributable to a unit

    Every repair, inspection and supplier invoice posts against the unit that incurred it, so a landlord statement is a report rather than an investigation.

    By design: dimension posting enforced on property costs

  • 0 Spreadsheets in the quarterly close

    The lease register, the apportionment calculation and the ledger are the same data. There is no second version to reconcile against.

    By design: one source for lease terms and postings

Context

The situation before the extension

Why property businesses end up running two systems that disagree.

The business

A commercial property operator managing a portfolio of buildings, each divided into lettable units with their own leases, service charges and maintenance history.

The starting point

Business Central held the accounts. Leases, rent review dates and service-charge apportionment lived in spreadsheets maintained by the property team.

The trigger

Every quarter the two were reconciled by hand. It took days, it was the only time anyone checked, and a mistake in the sheet became a mistake in a tenant invoice.

What they wanted

The portfolio modelled inside Business Central — properties, units, leases and charges — so that posting a cost and billing a tenant draw on the same record.

Constraints

Apportionment rules differ per building and sometimes per lease · rent reviews and break clauses are dated obligations, not reminders · historical lease data had to come across · the finance team's existing chart of accounts could not change.

System

What it runs at today

The extension as it runs today.

  • 3 Levels in the hierarchy

    Property, unit and lease, each able to carry costs

  • 2 Apportionment bases supported

    Floor area and fixed percentage, set per schedule

  • 1 Lease register

    Inside Business Central, not beside it

  • 0 Manual quarterly rebuilds

    Apportionment runs from held lease terms

The engineering problem

Four problems with property inside a general ledger

Business Central is built for a company that sells things. A property business has a different shape, and the gap is where the spreadsheets grow.

  1. A building is a hierarchy, and a ledger is a list

    Costs arrive against a building but need to be recovered from units, and some are not recoverable at all. A flat chart of accounts cannot express that without a dimension scheme nobody maintains consistently.

    What we did

    A property hierarchy held as first-class records, with dimension defaults derived from it so a cost posted to a unit carries its property and schedule automatically.

  2. Apportionment rules differ per building

    One schedule splits by floor area, another by a fixed percentage negotiated years ago, and a third excludes a tenant from a particular cost category entirely. A single formula cannot serve all three.

    What we did

    Apportionment held as configuration against the schedule, so a new building is set up rather than coded for, and last quarter's basis is still visible next year.

  3. Rent reviews are obligations, not reminders

    A missed review date is lost revenue that cannot be recovered retrospectively. Treating it as a calendar entry means it depends on somebody still working there.

    What we did

    Review and break dates held against the lease with escalating notification, so the obligation belongs to the system rather than to an individual.

  4. Historical leases had to survive the move

    A property business is judged on data going back decades. A migration that only brings current leases loses the history that settles disputes.

    What we did

    Full lease history migrated with its charge schedules, reconciled against the old spreadsheets before the switch, and kept queryable afterwards.

Architecture

How it fits together

Simplified — the shape of the system rather than every service in it.

  1. Property records

    • Property
    • Unit
    • Lease
    • Charge schedule

    The portfolio as first-class records inside Business Central, so everything downstream can reference them.

  2. Apportionment

    • Basis configuration
    • Schedule calculation
    • Exclusions

    Recovery rules held as data per schedule, with the calculation reproducible for any past period.

  3. Posting

    • Dimension defaults
    • Cost allocation
    • Tenant invoicing

    Costs post with their property and unit dimensions derived from the hierarchy rather than typed by the person entering the invoice.

  4. Obligations

    • Review dates
    • Break clauses
    • Notifications

    Dated lease obligations tracked with escalating reminders ahead of the date.

The extension adds records and rules; the posting, reporting and period close are standard Business Central. That is deliberate — it keeps the finance team working in the system they already know.

Solutions

What the extension adds

A property layer, and nothing that Business Central already does well.

  • Property hierarchy

    Property, unit and lease as records, with dimension defaults derived from the structure.

  • Apportionment engine

    Recovery bases held per schedule, reproducible for any historical period.

  • Charge scheduling

    Rent and service-charge schedules that raise invoices on their own dates.

  • Obligation tracking

    Review and break dates with escalating notification ahead of the date.

  • Maintenance costing

    Jobs and supplier costs attributed to the unit that incurred them.

  • Landlord and tenant reporting

    Statements produced from the ledger, not assembled separately.

Key capabilities

What it does day to day

Six capabilities across the property cycle.

CapabilityRunsRefreshWhat it does
Lease register Property team Continuous Leases, terms, charges and history against the unit they apply to
Service-charge apportionment Scheduled Per period Recovery calculated from held lease terms, on the basis each schedule defines
Cost allocation Automatic Per invoice Supplier costs posted against property and unit dimensions automatically
Maintenance Property team Per job Repairs tracked and costed against the unit that incurred them
Rent reviews Automatic Ahead of date Review and break dates surfaced before they pass, not after
Landlord reporting Standard BC Per period Statements produced from the ledger rather than assembled by hand

Integrations

How the moving parts plug in

A cost arrives once and reaches the tenant invoice without being re-keyed.

Inputs

  • Supplier invoicesAgainst a property or unit
  • Lease termsHeld in the register
  • Maintenance jobsCosted to a unit

Property layer

  • HierarchyProperty, unit, lease
  • Apportionment rulesPer schedule
  • Dimension defaultsDerived, not typed

Standard Business Central

  • Postings
  • Tenant invoices
  • Landlord statements
  • Period close

Because apportionment reads the same lease terms the invoice is raised from, a tenant querying their service charge gets the same answer the ledger holds.

Security & data

What protects the portfolio data

Lease terms are commercially sensitive, and tenants are entitled to see their own and nobody else's.

  • Role-based access

    Property, finance and surveying see what their role requires, using Business Central's own permission sets.

  • Reproducible apportionment

    Any past period's calculation can be re-run on the basis that applied then, which is what settles a tenant dispute.

  • Commercial confidentiality

    Lease terms are scoped so one tenant's commercial position is never visible in another's statement.

  • Audit trail

    Standard Business Central posting history, unmodified, so the audit path is the one the auditors already expect.

The brief

Two systems that disagree is one system too many

Property businesses almost always end up with the ledger in one place and the leases in another. The accounting package does not understand buildings, so the property team builds what it needs in Excel, and the two are reconciled periodically by someone senior enough to spot the differences.

That arrangement works until the portfolio grows or the person leaves. The work here was closing the gap — putting the portfolio inside Business Central so there is nothing to reconcile.

  • Properties, units and leases as records, not rows in a sheet
  • Apportionment calculated from held terms
  • Costs posted against the unit that incurred them
  • Review dates owned by the system

What the extension had to respect

  • 01The existing chart of accounts, which was not up for discussion
  • 02Business Central's upgrade path — additions only
  • 03Decades of lease history that had to survive the migration
  • 04A finance team who would keep working in standard Business Central screens

Process

We migrated the history before switching anything off

A property business cannot lose its lease history. The migration was the risk, so it went first.

  1. Stage 1

    Modelling the portfolio

    Working through how properties, units, leases and schedules actually relate, including the buildings that break the pattern.

  2. Stage 2

    Apportionment rules

    Capturing every recovery basis in use across the portfolio — which turned up two nobody had documented.

  3. Stage 3

    Migration and reconciliation

    Lease history brought across and reconciled against the spreadsheets until the numbers agreed for three historical quarters.

  4. Stage 4

    Building the extension

    AL development against the agreed model, adding only, so the upgrade path stays intact.

  5. Stage 5

    Parallel quarter

    One quarter closed both ways, old and new, before the spreadsheets were retired.

Technology

A property layer on standard Business Central

Everything downstream of the property records is stock functionality.

Business Central

  • AL extension
  • Dimensions
  • Standard posting
  • Permission sets

Property model

  • Property & unit records
  • Lease register
  • Charge schedules

Apportionment

  • Basis configuration
  • Period calculation
  • Exclusions

Reporting

  • Landlord statements
  • Tenant invoices
  • Standard BC reports

Business impact

What changed for the business

Three things the property and finance teams noticed.

  • A quarter that closes in hours

    Apportionment runs from held data instead of being rebuilt, which removes the days that used to go into it.

  • Revenue that is not missed

    Rent reviews belong to the system, so a date passing is no longer dependent on who is in the office.

  • Answers on the call

    A tenant query about a charge is a lookup rather than a callback.

The result

One record for a lease, a cost and the invoice that recovers it

The portfolio lives inside Business Central. Apportionment runs from lease terms rather than a rebuilt spreadsheet, costs carry their unit, and review dates surface before they pass.

The quarterly reconciliation that used to take days has nothing left to reconcile.

  • Property, unit and lease as first-class records
  • Apportionment reproducible for any past period
  • Costs attributed to the unit that incurred them
  • Lease obligations owned by the system

What we would repeat on a property system

  • 01Model the hierarchy before touching the chart of accounts
  • 02Capture every apportionment basis, including the undocumented ones
  • 03Reconcile the migration against history before switching over
  • 04Close one period both ways before retiring the old process

Verified reviews

What clients say about our Dynamics work

Verified reviews from clients of ours on similar work, published on Clutch. They are not from this project.

5.0 27 verified reviews

Free discovery call

Have an idea? Let's turn it into AI-powered software.

Book a free discovery call with our experts. Share your idea and we will help you shape the scope, timeline and budget, under NDA.

  • Free consultation
  • NDA before we talk
  • Transparent estimate