Automatically import your Yardi vendors into TrustLayer — and push overall compliance status plus key insurance expiration dates back into Yardi Voyager.
Learn how to connect TrustLayer to Yardi, what data syncs between the two systems, and how to fix common setup issues.
⚠️ Supported version: This integration works with Yardi Voyager 7S only. Other Yardi versions aren't supported.
TrustLayer's Yardi Voyager integration keeps your vendor compliance in sync with Yardi. Once connected, TrustLayer imports your vendors from Yardi and writes an overall compliance status — plus CGL and Workers' Comp expiration dates — back into Yardi, where your team already works.
What gets synced
Data | Direction | Notes |
Vendors (parties) | Yardi → TrustLayer | Imported from your Yardi vendor records — the vendor's name, ID, and address. |
Contacts | Yardi → TrustLayer | One primary contact per vendor, created only when the vendor has an email. It reuses the vendor's own name (Yardi has no separate contact-person field), plus the vendor's email and primary phone. No contact-sync options. |
Overall compliance status | TrustLayer → Yardi | "Compliant" / "Not Compliant" → a Yardi vendor user-defined field you choose (Yardi has 12 UDFs; default |
CGL (General Liability) expiration date | TrustLayer → Yardi | Written to Yardi's dedicated Liability Expiration Date field (from the vendor's General Liability coverage). |
Workers' Comp expiration date | TrustLayer → Yardi | Written to Yardi's dedicated Workers' Comp Expiration Date field (from the vendor's Workers' Compensation coverage). |
Yardi ships a fixed set of vendor user-defined fields out of the box —
UserDefinedField1throughUserDefinedField12— and you can't create new ones. You point TrustLayer at one of these existing fields to hold the overall status (via the Compliance Status Custom Field option below); it must already exist in your Yardi vendor schema, or compliance sync fails. The two expiration dates don't use a user-defined field — they write to Yardi's separate, built-in Liability Expiration Date and Workers' Comp Expiration Date fields.TrustLayer overwrites that field on each sync — manual edits made directly in Yardi are replaced.
Compliance is vendor-level and flows one way (TrustLayer → Yardi): it pushes whenever a vendor's compliance changes, and TrustLayer never reads compliance back from Yardi.
Before you start
TrustLayer access — a TrustLayer user with Organization Admin / Owner permissions.
Supported version — Yardi Voyager 7S (other versions aren't supported).
Yardi interface — the Vendor Invoicing SOAP web service (
ItfVendorInvoicing) enabled on your Yardi pod, with the TrustLayer vendor package loaded (open a Yardi Support ticket) and an interface license for TrustLayer.A Yardi administrator to provide the connection details and confirm your environment.
Your credentials: Interface Account ID, Base URL (your pod), Username, Password, Server Name, Database Name, Platform.
A compliance field — a Yardi vendor user-defined field that already exists in your schema, to receive the compliance status.
How do I connect Yardi to TrustLayer?
Complete these steps in order.
Step 1 — Enable the Vendor Invoicing interface and load the TrustLayer vendor package
Ask your Yardi administrator to enable the Vendor Invoicing SOAP web service on your pod.
Open a Yardi Support ticket to have the TrustLayer vendor package loaded/enabled in your database, and confirm an interface license for TrustLayer is in place.
⚠️ Important: Each Yardi client sits on its own pod, so your connection uses a client-specific Base URL — confirm the correct one for your environment during setup.
Step 2 — Gather your connection details
Interface Account ID, Base URL (your pod), Username, Password, Server Name, Database Name, Platform — from your Yardi administrator.
Decide which Yardi vendor user-defined field should hold the compliance status.
Step 3 — Connect Yardi inside TrustLayer
In TrustLayer, go to Integrations and select Yardi.
Enter your Yardi connection details — Interface Account ID, Base URL, Username, Password, Server Name, Database Name, Platform — and set the Compliance Status Custom Field (the Yardi user-defined field that should receive the status).
Authorize the connection. TrustLayer checks your Yardi version (must be 7S) and begins importing vendors.
Step 4 — Map your Yardi vendors
For each Yardi vendor, pick a mapping option: Create as a new party, link it to an existing TrustLayer party, or Do not add to TrustLayer. When you create a new party, TrustLayer matches by name, so an exact name match links to the existing party instead of creating a duplicate.
Mapping each vendor by hand is the default, but it's not your only option. You can turn on Automatically add new parties (on the Parties mapping screen) so that new Yardi vendors are created as parties automatically — still name-matched, so an exact match links to an existing party instead of duplicating. Because Yardi is poll-based, this happens on the next scheduled sync, not in real time.
How does syncing work?
Syncs run on a recurring schedule — 6× a day (00:00, 04:00, 08:00, 12:00, 16:00, 18:00 server time).
Yardi limitation: Yardi offers no webhooks or triggers, so there's no real-time sync — updates flow on each scheduled run.
Need an update sooner? Manually resync a party. Hover the integration link icon next to a linked party to see its last sync time and last-known status, then click Resync now to push that vendor to Yardi immediately without waiting for the next scheduled run.
📝 Note: Changes won't sync instantly — they update at the next scheduled run, or when you trigger a manual Resync on an individual party.
What data is imported from Yardi?
Vendors (parties): the vendor's name (used as the party name), the Yardi vendor ID (external ID), and address when present.
Contacts: a single primary contact per vendor, created only when the vendor has an email. Its name is the vendor's own name (the same value used as the party name — Yardi has no separate contact-person field), and it carries the vendor's email and primary phone.
Configuration options
Compliance Status Custom Field (
yardiComplianceCustomField) — which of Yardi's fixed user-defined fields (UserDefinedField1–UserDefinedField12) receives the overall status (defaultUserDefinedField12). Must be one that already exists in your Yardi vendor schema.Sync vendor names (
syncPartyNames, default on) — update a party's name in TrustLayer when it changes in Yardi.Default party type (
partyType, default Vendor) — the party type assigned to imported vendors.Default compliance profile (
complianceProfile) — the compliance profile applied to imported vendors.Sync compliance (
syncCompliance, default on) — enable or disable pushing compliance status to Yardi.
What isn't supported?
Most of these are limitations on Yardi's side — constraints of its Vendor Invoicing interface and data model — not TrustLayer choices. We've tagged each one.
Per-subject / per-policy compliance records — Yardi limitation. Yardi can store only an overall status (in a user-defined field) plus its two dedicated insurance date fields — there's no structure for per-insurance-type detail.
Policy numbers, insurer names, compliance notes, additional insured, certificate holders — Yardi limitation. Yardi has nowhere to persist these; Vendor Invoicing only holds the two expiration dates and the user-defined fields.
Multiple / secondary contacts — Yardi limitation. Yardi exposes only vendor-level contact fields (one name/email/phone), so TrustLayer creates a single primary contact per vendor.
FAQ
Which Yardi version is required? Voyager 7S.
How often does it sync? About 6 times a day (scheduled polling), plus an on-demand Resync now on any linked party — not real-time.
Can I track compliance per insurance type? No — this is a Yardi limitation: Yardi stores only an overall status plus its two dedicated expiration-date fields (CGL and Workers' Comp), so compliance is vendor-level overall only.
Does compliance come back from Yardi? No — one-way, TrustLayer → Yardi.
Which Yardi fields get written? Overall status → your chosen user-defined field; CGL date → Liability Expiration Date; Workers' Comp date → Workers' Comp Expiration Date.
Troubleshooting common issues
Compliance isn't appearing in Yardi — confirm the user-defined field you chose exists in your Yardi vendor schema and that the vendor's compliance actually changed.
Connection / setup fails — confirm your Yardi version is 7S, the Vendor Invoicing interface is enabled, and your Base URL is correct for your pod.
Authentication errors after setup previously worked — the account password was rotated (just update your credentials and re-authenticate the connection in TrustLayer's Yardi integration settings), or the account was disabled / locked in Yardi.
Still stuck? Reach TrustLayer Support from the in-app messenger or email [email protected] — include what happened, steps to reproduce, expected vs. actual, and screenshots.

