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.
-
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.
-
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.
-
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.
-
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.
-
Property records
- Property
- Unit
- Lease
- Charge schedule
The portfolio as first-class records inside Business Central, so everything downstream can reference them.
-
Apportionment
- Basis configuration
- Schedule calculation
- Exclusions
Recovery rules held as data per schedule, with the calculation reproducible for any past period.
-
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.
-
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.
| Capability | Runs | Refresh | What 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.
-
Modelling the portfolio
Working through how properties, units, leases and schedules actually relate, including the buildings that break the pattern.
-
Apportionment rules
Capturing every recovery basis in use across the portfolio — which turned up two nobody had documented.
-
Migration and reconciliation
Lease history brought across and reconciled against the spreadsheets until the numbers agreed for three historical quarters.
-
Building the extension
AL development against the agreed model, adding only, so the upgrade path stays intact.
-
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.
-
Custom Software Development
Web-Based Coupon App Development
The work produced by the team was of exceptional quality.
Verified review on Clutch (Jon Thies, opens in a new tab)
Jon Thies
CTO, Model Rocket Feb 2022 – Mar 2023
-
Custom Software Development
Mobile & Web Platform Development & Design
Silver Scintilla was responsive, respectful, and enjoyable to work with, quickly addressing any questions or requests.
Verified review on Clutch (DeShawn Brown, opens in a new tab)
DeShawn Brown
CEO & Founder, Lithios Jun 2021 – Nov 2022
-
Custom Software Development
Web-Based HRM System Development
Silver Scintilla provided the best solution with scalable functionality, personalized features, and robust security.
Verified review on Clutch (Suheb Khan, opens in a new tab)
Suheb Khan
Director, Collaborative Insight Technologies Jul 2020 – Jun 2022
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




