Welcome to the Swig Leasing Bridge — the canonical leasing data platform that bridges Yardi exports into the 2027 lease schema, builds an editable forecast model, and proves that model against the analyst's golden SAP working budget. This guide walks you through every workflow, from your first upload to the final acceptance test.
A few ideas underpin everything in the app:
SWIG-001) and an optional building RSF.Each property page opens with a six-step stepper that mirrors the end-to-end proof-of-concept. Work through it top to bottom:
The stepper tracks progress automatically and surfaces the next action (a hint, a button, or a link) at each step.
From the home page you'll see every configured property as a card.
Click New property and provide a name, an optional code (auto-generated if blank), and an optional building RSF. The code is what the parser matches Yardi files against, so keep it consistent with your Yardi setup.
Click any property card to enter its workspace. From there you can ingest workbooks, build and adjust the forecast model, reconcile snapshots, and export Yardi-ready files. Use Switch property to jump back to the list.
Drag a workbook onto the Ingest workbook dropzone (or click to browse). The format is auto-detected on upload, and re-uploading any file always creates a new immutable snapshot rather than overwriting the old one.
| Workbook | Role | What it provides |
|---|---|---|
| Yardi Lease Status Report (LSR) | Source | The projected rent roll |
| Yardi Space Market Rate (SMR) | Source | The round-trip assumption book |
| SAP Working Budget | Golden reference | The analyst's hand-built target |
The LSR is the canonical input. Export it from Yardi as .xlsx (single sheet, default column layout). On ingest, the parser reads the metadata header (Property:, Book:, Risk Date:) and maps every row's Risk × Speculation Type into one of our canonical sections (In-Place, Renewals, Spec Suites, Expiring Non-Renewals, Vacant Throughout).
The SMR carries the round-trip leasing assumptions that pair with the LSR. When the model is exported back to Yardi's SMR import, the LC 1 value is written as a PSF rate (e.g. $5.00), matching Yardi's import expectation — not a flat dollar total.
This is the analyst's hand-built budget. Ingest it as the golden reference so the model can be reconciled against it in step 6. It is the source of truth for the acceptance test and retires once the POC passes.
The parser matches the workbook's Property: header against your configured properties (exact match, then case-insensitive contains). If matching fails you'll get an actionable error pointing you to create the property first.
Per Swig's leasing team (confirmed by Ernie Sioson, May 2026), Yardi's NER column is always Annual $ total (rent/year). The parser converts it on ingest using:
Rent PSF/mo = NER ÷ SF ÷ 12
New snapshots default to this convention. The snapshot page shows the active unit and lets you override it (Annual $/SF, Monthly $ total, Monthly $/SF) only if a future Yardi configuration changes the convention — the other units are sales-related and not currently used in Swig's setup.
This distinction is central to the app:
A banner on every source snapshot reminds you that editing and validation live on the Forecast Model.
Once at least one source is ingested, click Build model (in the Forecast Model section or via step 3 of the stepper). The builder merges LSR + SMR into a single editable forecast. The result reports how many suites matched across sources and how many were SMR-only. Use Rebuild model any time the sources change.
Open the model to see one tab per canonical section plus a Summary tab. Each tab badge shows the row count and any validation errors.
Click any cell in any section tab, type the new value, and press Enter or click away. Currency, percentage, and date fields are validated automatically. Edits are stored as a layered, versioned overlay (PRD FR-10) — the original value is never destroyed and can always be reverted via the revert icon next to an edited cell.
You can insert net-new rows (e.g. spec deals) into a section and remove rows you don't want. Removing a row prompts for an optional reason, which is saved with the change. Removed rows are kept struck-through for traceability but are excluded from counts, totals, validation, and exports — and can be restored at any time via the Undo action, either inline on the section tab or from the Changes tab.
Every model page has a Changes tab alongside Summary and the section tabs. It's the audit trail for everything an analyst has done to the model, independent of any snapshot-vs-snapshot reconciliation:
Use this tab to answer audit questions before you ever get to the golden-file reconciliation below — it's the fastest way to explain a specific override.
The model is continuously validated. The header shows a badge summary — errors, warnings, or clean — and inline messages appear below any cell with an issue. Resolve errors before treating the model as final.
Suite-level rent data: base rent, escalations, and lease terms. Derived fields (Rent PSF/year, Rent $/month, Rent Start) are computed automatically from the source values.
Concession periods showing months free, total dollar value, and the application window.
Landlord-funded buildout allowances, both per square foot and total dollars.
Brokerage commission schedules, split between procuring and listing brokers. LC totals are derived automatically.
Catch-all for moving allowances, abated CAM, parking concessions, and other deal-specific items.
Every snapshot's header offers exports. The model exposes all three; source files expose the ones that apply.
There are two ways to reconcile in the app — pick the one that matches what you're checking.
Once a property has both a built Forecast Model and an ingested Golden SAP Working Budget, the app reconciles them automatically every time the property page loads. Step 6 of the stepper shows the live result inline:
Click the step's link — View reconciliation (or Run reconciliation if the result hasn't loaded yet) — to open the full field-level breakdown.
Use this to check what changed between any two snapshots — two LSR uploads, two model versions, anything.
Both paths land on the same reconcile screen, with a search box and Section / Change type filters above a field-level delta table:
| Column | Meaning |
|---|---|
| Section | Which canonical section the field belongs to |
| Suite | The suite identifier |
| Tenant | Tenant name (if available) |
| Field | The specific field that changed |
| Change | added, removed, or changed |
| Base | Value in the base snapshot |
| Target | Value in the target snapshot |
| Δ | Numeric difference (for currency/number fields) |
| Notes | Auto-flagged call-outs — e.g. a >5% square footage change, a lease term shift of 12+ months, or a >10% rent PSF change |
Numeric fields use a 0.005 epsilon to ignore floating-point noise, and dates normalize to ISO strings before diffing to avoid timezone false positives.
From the reconcile view you can download the full delta as XLSX (full field-level table) or PDF (formatted summary for stakeholders).
When both a model and a golden file exist, the Bridge view gives a guided, side-by-side path to closing the gap. It shows three columns:
A progress banner tracks confirmed vs. outstanding changes; when none remain, the model matches the golden (0 / 0 / 0).
Reset property clears all ingested data for that property — its snapshots, lease rows, and edits. Other properties are unaffected. This is destructive and cannot be undone, so you'll be asked to confirm.
Make sure the file is a standard Yardi LSR/SMR or SAP Working Budget .xlsx with the expected layout. If the format has changed, reach out to the Leasing Bridge team.
The upload created a snapshot record but row ingestion failed. Re-upload the workbook from the property page — the server logs the underlying error so the team can diagnose it.
Currency fields require numeric input (no $ or commas needed). Date fields require a valid date — use the date picker if available. Remember that only the Forecast Model is editable; source files are read-only.
Numeric fields use a 0.005 epsilon to ignore floating-point noise. If you still see spurious diffs, check whether the underlying export was rounded differently between the two pulls.
Reach out to the Swig Leasing Bridge team via the Contact & Feedback card on the Support page (leasing-bridge@swig.com).