Philadelphia skyline
Case Study

Trinity

Spreadsheet Server Report Development & Multi-Database Reporting

How BC Solutions built 14+ custom Spreadsheet Server reports, enabling a real estate development firm to preserve critical financial reporting during a major Yardi platform migration

At A Glance

Client: Trinity
Project: Spreadsheet Server Report Development & Platform Migration Support
Industry: Real Estate Development & Investment
Timeline: Multi-year engagement
Location: Philadelphia, PA
BC Solutions Lead: Missy Ham
Platform: Yardi Voyager (6 & 7S) with Spreadsheet Server
Outcome: 14+ custom reports, multi-database reporting, full Citrix deployment
All Case Studies

About Trinity

Trinity is a Philadelphia-based real estate development and investment firm with a portfolio of commercial and mixed-use properties. The organization relies on Yardi Voyager for property management, financial reporting, and job cost tracking across its development projects.

As a development-focused firm, Trinity's reporting needs extend well beyond standard property management. Their teams depend on detailed job cost analysis, contract tracking, project budgeting, and construction-oriented financial reporting to manage active development projects and monitor portfolio performance.

When a firm's reporting requirements span both property operations and active construction development, off-the-shelf Yardi reports rarely cover the full picture. Custom Spreadsheet Server reporting bridges that gap.

The Challenge

Trinity was in the process of migrating from Yardi Voyager 6 to Voyager 7S. During this transition, the team faced a set of compounding reporting challenges that threatened operational continuity:

  • Critical financial and job cost reports built for Voyager 6 had no direct equivalent in Voyager 7S, and the legacy reporting tools were being retired alongside the old platform
  • The organization needed to maintain reporting across both Yardi databases simultaneously during the transition period, with reports capable of pulling data from either system
  • Development-specific reporting (job summaries, contract tracking, project budgets, cost-to-complete analysis) required complex SQL with 11+ sub-queries that could not run natively through standard Yardi reporting
  • Spreadsheet Server's handling of certain Yardi data types differed from SQL Server's implicit conversion behavior, causing reports to fail silently or return incomplete results
  • Historical data in the legacy database had been partially purged over time, creating unexpected gaps in primary key sequences that broke query assumptions
  • The reporting environment was deployed on a shared Citrix server, meaning reports needed to perform reliably under resource constraints while remaining accessible to multiple users

The core problem was clear: Trinity could not afford to lose visibility into active development projects during the migration. Every week without reliable job cost and financial reporting was a week of decisions made with incomplete data.

The BC Solutions Approach

BC Solutions structured the engagement across four workstreams, progressing from environment setup and report analysis through development, QA, and end-user training. The team built a local demo environment first to validate approaches before deploying to Trinity's production Citrix infrastructure.

Workstream 1

Analysis & Environment Setup

Comprehensive audit of legacy Voyager 6 reports to identify conversion candidates
Built local Spreadsheet Server demo environment for development and testing
Configured Yardi segments, GL structures, and query foundations in SSS
Established multi-database connectivity for simultaneous Yardi 6 and 7S access
Workstream 2

GL & Financial Report Development

General Ledger reports with account tree filters and multi-database support
Payable Aging Detail report with vendor filtering and date-range parameters
Comparative Summary by Account with cross-period analysis
Budget Comparison (YTD) and Trial Balance by Cost Center reports
Workstream 3

Job Cost & Construction Report Development

Job Summary report requiring conversion of 11+ nested SQL sub-queries for SSS execution
Job Cost Detail with retention filters, date formatting, and sortable output
Project Budget report with workarounds for unpopulated source fields
Project Cost to Complete with job pick lists and calculated total rows
Workstream 4

Contract Reports, QA & Deployment

Contract Detail and Contract Summary reports with category and contract filters
Job Register with drop-down filters and Excel template configuration
Vendor Directory and Investment Lead Sheet GL reports
Full QA cycle, Citrix deployment, and end-user training sessions

The Job Summary report alone had 11 sub-queries that needed to be restructured for Spreadsheet Server execution. Each query had to be validated against the Voyager front-end to ensure the numbers tied out, then adapted to handle data type inconsistencies between the legacy and production databases.

BC Solutions technical documentation

The Results

BC Solutions delivered a complete Spreadsheet Server reporting suite that maintained operational continuity throughout Trinity's platform migration:

📊

14+ Reports Built

Custom SSS reports covering GL, job cost, contracts, budgets, and vendor data

🔄

Dual-Database

Reports configured to pull from both Yardi 6 and 7S databases simultaneously

Zero Downtime

Reporting continuity maintained throughout the entire platform migration

💻

Citrix Deployed

Full suite deployed to shared Citrix environment with multi-user access

Technical Challenges Solved

The Trinity engagement required solving several technical problems that are common in Spreadsheet Server implementations but rarely documented:

Data type mismatches between SQL Server and Spreadsheet Server

Several Yardi tables stored dollar values in nchar(15) columns rather than numeric types. SQL Server handles implicit conversion of these values, but Spreadsheet Server does not. BC Solutions identified these mismatches through systematic testing and implemented explicit type casting in the underlying queries to ensure accurate financial output.

Legacy data purges creating broken query assumptions

The Yardi 6 database had undergone partial data purges over its lifetime, leaving gaps in primary key sequences that were far higher than expected. Reports that relied on sequential key logic failed silently until BC Solutions identified the root cause and restructured the queries to handle non-contiguous key ranges.

Multi-database filters for cross-platform reporting

During the migration window, Trinity needed reports that could target either the Yardi 6 or 7S database from a single Excel template. BC Solutions built parameterized database connection tokens and filter logic that allowed users to switch between data sources without maintaining duplicate report files.

Reverse-engineering reports that had no Voyager 7S equivalent

Several legacy reports from Voyager 6 did not exist in the Voyager 7S front-end. BC Solutions reverse-engineered these reports from the original SQL scripts and Voyager 60 output, reconstructing the business logic in Spreadsheet Server's Query Designer with the appropriate filters and parameters.

Why It Matters

The Trinity engagement demonstrates what Spreadsheet Server can deliver when implemented by a team that understands both the tool and the Yardi data model:

Platform migrations should not mean reporting blackouts.

When organizations migrate between Yardi versions, reporting is often the last thing to be rebuilt and the first thing teams need. Spreadsheet Server provides a way to maintain report continuity across versions because the reports connect directly to the database layer, independent of the Yardi front-end version.

Development-focused firms need reports that property management platforms do not provide out of the box.

Job cost analysis, contract tracking, project budgets, and cost-to-complete calculations are not standard Yardi reports. Spreadsheet Server fills this gap by enabling custom SQL-backed reports delivered directly in Excel, where project managers and financial analysts already work.

Spreadsheet Server implementations require deep Yardi database knowledge, not just Excel skills.

The difference between a successful SSS implementation and a failed one often comes down to understanding Yardi's data model: where GL segments are stored, how job cost tables relate, why certain columns use text types for numeric data, and how database names change between Voyager versions. BC Solutions brings that domain expertise to every SSS engagement.

Need Spreadsheet Server reporting for Yardi?

Contact BC Solutions to discuss custom report development, multi-database configurations, or Spreadsheet Server implementations for your Yardi environment.