TrueSight Matching Guide
Run MCA funder matching from parsed data or CRM-supplied financials.
TrueSight matches an MCA application against funder criteria.
You can run TrueSight in two ways:
- From a completed InFlow
parsing_id. - Directly from application and financial data already stored in your CRM.
Match From Parsing
Use this when InFlow already parsed the PDFs.
curl https://api.b2systems.io/v1/truesight/matching \
-H "Authorization: Bearer $B2_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: crm-deal-10042-match-v1" \
-d '{
"external_id": "crm-deal-10042",
"parsing_id": "a8f58172-cb32-4aa8-8429-1d3c4bf150f4",
"create_deal": false,
"auto_submit": "auto"
}'The parsing_id must be completed before it can be used for matching.
Match From CRM Data
Use this when your system already has the merchant application and financial metrics.
curl https://api.b2systems.io/v1/truesight/matching \
-H "Authorization: Bearer $B2_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: crm-deal-10043-match-v1" \
-d '{
"external_id": "crm-deal-10043",
"create_deal": true,
"auto_submit": "auto",
"application": {
"trade_name": "Riverside Auto Repair",
"legal_name": "Riverside Auto Repair Inc",
"type_of_entity": "corporation",
"industry": "Auto Repair",
"business_tax_id": "12-3456789",
"business_tax_id_country": "US",
"business_tax_id_type": "EIN",
"state_region": "FL",
"country": "United States",
"requested_amount": 75000,
"applicants": [
{
"first_name": "Jordan",
"last_name": "Miller",
"role": "Owner",
"ownership": 100,
"credit_score": 690
}
]
},
"financials": {
"avg_monthly_revenue": 118000,
"avg_monthly_true_revenue": 109000,
"avg_negative_days_count": 1,
"avg_nsf_count": 0,
"total_positions_count": 1,
"remit_percentage": 12.5,
"months": [
{
"date": "2026-03",
"total_credits": 121000,
"total_true_credits": 112500,
"negative_days_count": 1,
"nsf_count": 0
}
],
"positions": [
{
"name": "Example Advance",
"active": true,
"payment_frequency": "daily",
"remit_percentage": 12.5
}
]
}
}'Requested terms such as requested_amount, requested_payment, number_of_payments, and payment_frequency are stored on a created deal when present. TrueSight matching does not require them.
Tax-ID country fields accept US or CA. When supplied application data contains an invalid or ambiguous tax ID, the API returns 422 Unprocessable Entity with the validation_failed code and does not queue the matching job. Include the applicable tax-ID country and type when the value cannot be resolved unambiguously.
For broker deals, auto_submit defaults to auto, which inherits the dashboard setting and entitlement. Use disabled to prevent auto-submit for the created deal. TrueSight cannot force-enable auto-submit. Funder-owned matching evaluates the funder's own profile and does not submit the deal anywhere.
Safe Retries
For write requests, you can send Idempotency-Key to safely retry the same request if your system times out or loses the response.
Use one unique key per logical matching run. Retrying the same request with the same key returns the original queued matching job. Reusing the same key with different matching data returns a conflict.
Selected Funders
By default, TrueSight matches against the funders available to your organization.
For broker organizations, that means the organization's selected funders.
For funder organizations, matching is scoped to the funder profile tied to the organization.
If funder_ids is provided, it narrows the matching run to those funders when they are available to the organization.
Check Status
curl https://api.b2systems.io/v1/truesight/matching/7c0b5dc0-8082-44df-99e6-9722a8fc48d2 \
-H "Authorization: Bearer $B2_API_KEY"Match Results
funder_results contains every permitted funder that TrueSight evaluated, including non-matches and hard declines. It is not filtered by the dashboard preference that hides hard-declined rows.
Important fields include:
match_score: overall score.matched: whether the application matched.hard_decline: whether a hard-decline rule prevented a match.matching_breakdown: the submitted deal value, evaluated requirement, and outcome for each returned check.
The result includes the funder id and name needed to identify a row. It does not include funder contact details, public profile ranges, submission state, or the funder's complete criteria configuration.
When create_deal is true, B2 Systems also stores the completed match results on the created deal. Use GET /v1/deals/{deal_id} when your integration needs the latest active matching results tied to the dashboard deal after later rematches or reprocessing.
Updated 18 days ago

