Integrations
FIS integration for financial spreading
How a finished SpreadSpace spread reaches the FIS Commercial Lending Suite: an export map in its codes, file and API handoffs, and an embedded workspace.
FIS’s Commercial Lending Suite runs commercial and syndicated loans from origination through servicing, and its Commercial Loan Servicing product, long known as ACBS, is where booked facilities live at many of the largest lenders. A lender that reviews borrowers in SpreadSpace needs the finished spread in the origination system that feeds the suite and the borrower’s reviewed figures beside the facility afterwards.
This guide covers that handoff as it works today. SpreadSpace names every account in the suite’s terms through a per-workspace export map, hands the finished spread over as a file, through the API when the analyst finalizes, or inside an embedded workspace, and FIS receives it through the APIs it publishes on Code Connect. There is no FIS-built connector, and none of the routes needs one.
Where a spread lands in the FIS suite
FIS describes the Commercial Lending Suite as a front-to-back solution with built-in workflow, analytics and reporting. Its Commercial Loan Servicing product offers a RESTful API for pulling customer, facility and loan information from origination or other source systems, and outbound event streaming through the loan’s lifecycle. FIS’s Code Connect is its API marketplace and the central access point for its products’ APIs.
Spreading is an origination concern, so a spread finished in SpreadSpace lands in the origination system the lender runs in front of the suite, FIS’s own or another, and the reviewed figures that support the facility follow it into servicing through the suite’s own API. The export map below names every SpreadSpace account in the terms that system expects.
What SpreadSpace hands to FIS
Four things leave SpreadSpace. The first is the extracted document: every line a tax return, financial statement or bank statement prints, each with the page and the boxed region it was read from. The second is the mapped statement: the profit and loss statement and the balance sheet placed on the workspace’s chart of accounts, with each account’s figure per period and the arithmetic that walks the printed lines to the printed totals. The third is the finalized spread: the attribute snapshot an analyst approved, with its figures, periods and source document references, frozen at a version number. The fourth is the credit memo as a PDF.
Each has a file form and an API form. One document exports as CSV or JSON on its own, and a set of documents on one loan bundles in the background as CSV, JSON or, for bank statements, XLSX. The loan’s spread comes out as two Excel workbooks, one of statements and one of tables, with the rows a figure is derived from indented under it. The finalized figures are read from the loan’s attributes endpoint and the mapped statements from the borrower’s mapping endpoints. FIS receives whichever form its import takes.
Exports in the API documentation
Name every account in FIS’s terms
The chart of accounts is the workspace’s own. Its accounts carry SpreadSpace ids such as pl.opex.rent and bs.current_assets.cash, and FIS holds the same accounts under its own codes and names. The export map is the translation. In Settings, open Chart of accounts and then Export map, choose FIS as the system, and give each account the code and the name FIS uses for it. The map is saved once per workspace and applies to every loan, and the system is recorded as fis on everything it codes.
| SpreadSpace account | Account id | Code and name in FIS |
|---|---|---|
| Revenue | pl.revenue.sales | REV-4000 Revenue |
| Cost of goods sold | pl.cogs.purchases | COS-5000 Cost of sales |
| Depreciation | pl.opex.depreciation | OPX-6900 Depreciation |
| Interest expense | pl.interest | INT-7100 Interest expense |
| Cash | bs.current_assets.cash | CA-1000 Cash |
| Inventory | bs.current_assets.inventory | CA-1300 Inventory |
| Notes payable, long term | bs.longterm_liabilities.notes_loans_payable | LTL-2600 Term loans |
From then on every mapped statement carries the codes. Each account in the mapping’s tree answers with its external code and label beside its figure per period, the payload names the system, and the accounts the map codes that the statement does not use are listed, so nothing posts blind. A map can also be saved through the API, up to 1,000 entries and the whole map each time, and a save that crosses another is refused rather than merged. After any save, each mapping reads as stale until it has been prepared again with the new codes, and a webhook announces the fresh one.
Statement mapping and the export map in the API documentation
Three routes into FIS
The first route is a file. An analyst downloads a document’s export or a bundle from the document list, a job requests the two workbooks, and the files are loaded through FIS’s import or attached to the loan. It needs no engineering and suits a team that files a few spreads a day.
The second route is the API. When an analyst finalizes a spread, SpreadSpace sends a spread.finalized event to your endpoint, signed with a shared secret, naming the loan and the snapshot. Your service reads the snapshot from the loan’s attributes endpoint and the mapped statements from the borrower’s mapping endpoints, with FIS’s codes already on every account, and posts them into FIS through the path FIS documents. SDKs for TypeScript, Python and C# wrap the calls, and the event carries the snapshot id, so a handler that records the ids it has posted stays idempotent under a retry.
The third route is the embedded workspace. Your application asks SpreadSpace for a single-use signed URL and seats the spread in an iframe beside the FIS record, so an analyst opens the source documents without leaving the loan, and no token crosses the parent frame. The figures still finalize into the same snapshot and reach FIS by either route above.
Webhooks in the API documentation
FIS’s side of the handoff
FIS publishes its APIs through Code Connect, and access to a product’s API is arranged with FIS for the institution’s own environment. The documented shape of an outside figure entering the suite is the servicing API’s pull of customer, facility and loan information from a source system, so a lender’s integration team either makes SpreadSpace that source for the figures the facility needs, or lands the spread in the origination system and lets the suite’s existing feed carry it.
On the API route your service receives the finalize event, reads the snapshot and the mapped statements with FIS’s codes on every account, and serves or posts them as the suite expects. On the file route the analyst attaches the statements workbook or the CSV bundle to the credit file, each line carrying its code. The embedded workspace keeps the source documents beside the record for the servicing team’s later review.
Integrating financial spreading with a loan origination system
Set up the handoff
Create an API key with the scopes the route needs: extractions read and export for the files and the mapped statements, spreads read for the snapshot, chart of accounts write to save the map from code, webhooks write to register the endpoint and embed write for the iframe. Save the export map for FIS. Register the webhook endpoint, send the test event and verify its signature. Then run the whole loop on a test key against the sandbox loan, whose sample spread finalizes on request, before the first live loan.
SpreadSpace ships no connector written by FIS, and no step above depends on one. The file, the API payload and the embedded frame are SpreadSpace’s side of the handoff. FIS’s side is its documented import, its API or its services team, and the section above names the public pages that describe it. A lender that wants the two sides joined for it can ask sales.
API keys and scopes in the documentation
Sample documents and the sandbox loan in the documentation
Integrating financial spreading with a loan origination system