Known shapes are free
Encompass exports land on day one — no AI fee, no mapping QC. The work is already done; you just import.
Named vendor profiles for common LOS exports — Encompass Standardized Report CCL lands all 400 rows out of the box. Profiles bypass the generic mapping layer with a curated field schema, tolerant coercion, and per-vendor audit. Add your own profile in a config change.
Overview
A vendor profile is a curated mapping from a known vendor's export shape to the RateStack canonical model. Profiles bypass the generic three-tier mapping resolver because the field correspondence is already known. The Encompass Standardized Report (CCL) profile lands all 400 rows of a typical export on day one. Profiles ship with tolerant coercion (Active/Enabled/Waived → boolean, NA/null → null, free-text decimals → BigDecimal) so vendor format quirks don't break imports. Each profile is versioned and audited; updates ship via config, not code.
400-row profile shipped 2026-05-15. Lands 400/400 fields on a representative export with zero generic mapping needed.
Boolean variants (Waived, Active, Enabled, On), loose BigDecimal (NA, null, '$1,234.56'), date-format permissive — all normalized at the profile layer.
Profiles short-circuit template → AI → regex resolution. Known shapes don't pay the AI cost; mappings are reproducible by construction.
Each profile carries a version; updates ship without redeploying services. Imports record the profile version they used.
Add your own profile via the admin API (Business+) or as a config-managed file (Enterprise). YAML mapping spec; no Java required.
If a row doesn't match the profile, it falls through to the generic mapper. You get profile precision plus mapper robustness.
How it works
Numbered steps from input to output. Each step maps to a specific subsystem you can inspect via OpenTelemetry.
Pass the vendor profile slug as a query parameter. Content-Type drives the parser (CSV, XML, JSON, Excel).
ingestion-service resolves the profile, reads the curated mapping, and lands the rows directly. Tolerant coercion handles boolean and decimal variants.
If the export contains rows the profile doesn't know, those rows fall through to the generic three-tier mapper. The result is logged with the resolution path used per row.
Cross-field validation runs over the merged result. Hard errors return 422 with field paths; soft warnings ship alongside the loan.
ImportSummary row records profileSlug + profileVersion + rowsMapped + rowsFallback + warnings. Re-importing with the same fingerprint is a no-op.
Pass the loanId to /v1/pricing or kick off Stage 1 eligibility for a fast feedback loop.
Hands on
Live cURL sample — copy, paste, ship.
# List available vendor profiles
curl https://api.ratestack.com/v1/vendor-profiles \
-H "X-API-Key: $RATESTACK_KEY"
# [
# { "slug": "encompass-standardized-report-ccl", "name": "Encompass Standardized Report (CCL)",
# "rowCount": 400, "scope": "LOAN", "version": "2026-05-15" },
# { "slug": "calyx-export", "name": "Calyx Export", "rowCount": 220, "scope": "LOAN" },
# ...
# ]
# Drive an import against a named profile
curl -X POST "https://api.ratestack.com/v1/loans/import?\
profile=encompass-standardized-report-ccl&importedByUserId=$ME" \
-H "X-API-Key: $RATESTACK_KEY" \
-H "Content-Type: text/csv" \
--data-binary @encompass-export.csvWhy this matters
Encompass exports land on day one — no AI fee, no mapping QC. The work is already done; you just import.
Tolerant coercion absorbs the long tail of vendor format quirks (NA, $-prefix, locale decimals). Vendor reorders a column? Profile still works.
Every import records the profile + version used. Compliance reads which mapping ran; no guessing about how a field landed.
Frequently asked
If you're on Encompass with the Standardized Report, you have one out of the box. For other LOS, send a sample export to onboarding; profiles take days, not quarters.
The CCL profile covers the standard shape. Custom additions fall through to the generic mapper and land as additional warnings; you can promote them into your tenant's profile via the admin API.
Yes. Vendor ratesheet profiles are a parallel concept on ratesheet-service. Common vendors (Tavant, ICE, etc.) have built-in profiles; the rest land via the learning mapper.
No. Profiles handle shape mapping only. Cross-field validation, eligibility, and downstream pricing all run normally over the mapped result.
Custom profiles are per-tenant by default. Profiles that prove broadly useful can be promoted to platform-wide on operator request — with the originating tenant's consent.
Related capabilities
Ready to see it on your data?
We'll spin you a sandbox, load your actual ratesheets, and walk you through this capability against your top scenarios.