Property accounting that can't tolerate a silent error
PropRail is a cloud-based, multi-entity property management and accounting platform Digital Web Weaver built for a UK-based outsourced accounting firm — running multiple property-owning SPVs and a management company across a commercial property portfolio, on one shared, tested, double-entry ledger.
// the challenge — what generic accounting software gets wrong
Five pressures generic software doesn't handle
Outsourced accounting firms managing several property-owning SPVs and a management company face problems that generic accounting or property software rarely addresses well.
Spreadsheets and generic accounting packages make it easy to mix up which SPV a transaction belongs to — serious when each SPV has different owners, auditors and reporting obligations.
The RICS "Service Charges in Commercial Property" statement (2nd edition, mandatory from 31 Dec 2025) imposes strict deadlines and rules that are difficult to track consistently by hand.
Property management, rent collection, service charge reconciliation, VAT and Sage bookkeeping were spread across disconnected spreadsheets and systems.
Practice principals and senior accountants lacked a single, live view of arrears, rent reviews, service charge status and compliance deadlines across the portfolio.
Property managers, credit controllers, accountants and auditors all need very different, tightly scoped access — hard to enforce with shared spreadsheets or generic licences.
// the solution — one system, one tested ledger
The entire accounting cycle, on one ledger
PropRail brings leases, rent invoicing, rent reviews, service charges, recharges, accounts payable, intercompany transactions, VAT and Sage 50 UK export into a single system, built on one shared, tested, double-entry ledger. Data isolation between client entities is enforced at the database level, not just in application code — and nothing is ever silently edited or deleted; every correction is a fully traceable reversal.

A live, portfolio-wide view of rent roll, arrears and collection rate — with risk signals, like tenant concentration, flagged automatically.

RICS-compliant reconciliation, apportioned per tenant by category — with RICS deadline compliance checked automatically, not tracked by hand.
Foundation, security & user management
- Multi-entity architecture — multiple SPVs and a management company within one system, with data fully segregated entity-by-entity.
- A 9-role access model (Super Admin, Practice Admin, Property Manager, Credit Controller, Accountant, Senior Accountant, Client, Tenant, Auditor), each with an independently configurable, module-by-module permission matrix.
- Per-entity role assignment — the same user can hold different roles on different entities, with access always evaluated per entity, never globally.
- Mandatory two-factor authentication enforced automatically for every financial/administrative role.
- Secure, email-based user invitation flow — no public self-service registration.
- Full audit logging of every login attempt and every financial posting.
Company, property & lease management
- Entity setup with registered address, company number, VAT registration, option-to-tax tracking, bank details, and chart-of-accounts templating per entity.
- Full property and unit register, including title numbers and addresses.
- Compliance certificate tracking (fire safety, EPC, and more) with automatic urgency alerts as expiry approaches.
- Full lease lifecycle management, including break clauses, surrenders, and automatic mid-quarter proration for leases starting or ending outside standard UK quarter days.
Rent invoicing & rent reviews
- Automated batch quarterly rent invoicing aligned to UK quarter days, safe to re-run without ever double-invoicing a period.
- Ad-hoc invoicing and credit notes, posting immediately to the ledger.
- VAT-aware invoicing by default — exempt unless the owning entity has opted to tax.
- A draft-and-approve workflow before invoices post.
- RPI-indexed and Open Market Value (OMV) rent reviews, with a 3-month lookahead due-list and automatic shortfall invoice generation on confirmation.
Tenant ledger & credit control
- Chronological, running-balance tenant ledger.
- Automated invoice ageing into configurable bands, feeding a live aged-debt report.
- Manual and automatic receipt allocation, with overpayments correctly retained as a tenant credit balance.
- Automated first-reminder emails for overdue invoices, sent once per eligible invoice.
- Manually logged, fully audit-trailed credit-control chase notes.
Service charges — RICS-compliant budgeting & reconciliation
- A full service charge budget builder with category-by-category apportionment (floor area, fixed share, or lease share).
- Vacant-unit costs correctly defaulted to landlord cost, never silently redistributed onto occupied tenants.
- Budget locking with full balance validation.
- Year-end reconciliation apportioned correctly per tenant, including time-apportionment for tenants who surrendered mid-year.
- Built-in RICS 2nd-edition compliance tracking — budget-issue timing, the 120-day year-end accounts deadline, the 18-month cost cut-off rule, and fixed (never percentage-based) management fees, all flagged automatically.
- Tenant-facing, downloadable PDF service charge certificates.
- Locked reconciliations are never edited in place — corrections are always a separate, traceable adjustment.
Recharges, accounts payable & intercompany
- Recharge tracking, separate from the main service charge cycle, each with its own VAT treatment.
- Accounts Payable invoice recording with an approval workflow and nominal-code mapping validation.
- Intercompany recharges between related SPVs and the management company, fully auditable.
VAT & Sage 50 UK integration
- A quarterly VAT workbook, automatically compiling output and input VAT per entity.
- VAT coding consistency checks that block filing on any inconsistency.
- Filing locks a period's transactions — later corrections are always applied forward, never retrospectively.
- Maker/checker VAT compilation, with senior sign-off required to file.
- Correctly formatted Sage 50 UK batch export for every posted period, with clean, non-duplicated adjustment exports on re-run.
- CSV bank statement import for manual reconciliation review.
Reporting, analytics & search
- Live rent roll, with current rent and upcoming review/expiry dates per unit.
- Budget vs. actual reporting, with strictly read-only report screens — reporting can never alter posted data.
- Role-specific dashboards — due-lists, arrears queues and activity feeds tailored to each of the 9 roles.
- A dedicated, chart-based Analytics Dashboard giving leadership a live, visual view of the whole portfolio.
- Fast, permission-respecting global search across tenants, leases, properties and invoices.
Notifications & tenant self-service
- Configurable per-user notification preferences.
- Automated payment-due reminders, arrears-threshold alerts, and compliance-certificate urgency alerts.
- A structured tenant query system for raising and tracking issues against an account or lease.
Technical architecture
Every technology choice was made deliberately for a system handling real financial data across multiple legal entities — favouring proven, secure, enterprise-grade components over experimental or short-lived tooling.
| Layer | Technology | Why it was chosen |
|---|---|---|
| Backend | Laravel 12 (PHP) | A mature, widely-adopted enterprise PHP framework with a large, active talent pool — critical for long-term maintainability. |
| Frontend | Vue 3 + Inertia.js | A modern, reactive SPA feel, without the overhead and added attack surface of a fully separate front-end API layer. |
| Database | PostgreSQL 16 | Chosen specifically for native Row-Level Security — entity data isolation enforced at the database engine itself. |
| Background jobs | Redis + Laravel Horizon | Batch invoicing, reminders and Sage exports run asynchronously and reliably, with a real-time queue dashboard. |
| Automated testing | Pest (PHP) | 190+ automated tests protecting the system's financial logic — every business rule checked before release. |
| Access control | spatie/laravel-permission | A battle-tested role and permission engine underpinning the 9-role access model. |
| Auth & 2FA | Laravel Fortify | Secure authentication with enforced two-factor authentication for every financial role. |
| Sage integration | maatwebsite/excel | Generates correctly formatted, Sage 50 UK compatible batch import/export files. |
| Design system | Tailwind CSS | One consistent design language, fully responsive across desktop, tablet and mobile browsers. |
| CI/CD | GitHub Actions | Every change is automatically tested and deployed — zero-touch, consistent releases. |
At the core of PropRail is a double-entry, append-only ledger. Every financial transaction — rent, service charges, recharges, AP invoices, intercompany postings — flows through a single, tested posting engine. Nothing is ever silently edited or deleted: every correction is recorded as a new, fully traceable reversal, giving a complete, tamper-evident financial history for every entity by design.
Security & compliance
- Two-layer entity isolation — PostgreSQL Row-Level Security combined with an independent, fail-closed application-layer permission scope, so one client entity's data can never be exposed through another's screens.
- Server-side authorisation everywhere — every route is protected by a policy check on the server; the interface never relies on simply hiding a button.
- Validated input, parameterised queries — all input validated through Laravel Form Requests; no raw SQL string interpolation anywhere in the system.
- Mandatory 2FA for financial roles — enforced before those roles can use the system at all.
- Complete audit trail — every login (successful or failed, with IP and timestamp) and every financial posting is permanently logged and attributable to a real user.
- Safe file handling — uploaded documents validated for type and size, stored outside the public web root.
- No secrets in code — all credentials and configuration held outside the codebase, never committed to version control.
- Ongoing dependency security audits before every release.
Quality engineering
PropRail is backed by an extensive, continuously-run automated test suite covering every financial module — rent invoicing, rent reviews, tenant ledger, service charge budgeting and reconciliation, recharges, accounts payable, intercompany transactions, VAT, and Sage export — as well as the full role-based permission matrix, verifying both what every role can and cannot do. Every change runs through this full suite, plus static analysis (Larastan) and code-style checks (Pint), before it is ever deployed.
Delivery approach
Digital Web Weaver delivered PropRail through a structured, phase-by-phase build — establishing the core system architecture (entity model, ledger design, module boundaries) before any feature work began, then working module by module through the full accounting and property management cycle, with a smoke test required to pass after every feature before moving on. The system is deployed via a fully automated CI/CD pipeline: every code change is tested and deployed to the live environment automatically on merge, with zero manual deployment steps.
Why this project matters
PropRail demonstrates Digital Web Weaver's ability to deliver a complete, production-grade, domain-specific financial system — not a generic CRUD application, but a system built around real accounting rules (double-entry, append-only posting), real regulatory requirements (RICS service charge compliance, UK VAT), and real third-party interoperability (Sage 50 UK), backed by enterprise-grade security and an extensive automated test suite from day one.
$ ./contact --start-project
Need a system that can't afford to get it wrong?
If your business runs on numbers that have to be right — accounting, finance, compliance-heavy operations — this is exactly the kind of system we build.