NBID November 2026
Confidential
Download PDF

NBID: SFTP Setup Guide

Overview

This guide covers a SFTP integration between your institution and NBID, where you are able to send and receive instruction files from NBID to initiate data exchanges related to activity within the network. An SFTP integration involves two directions of file transfer:

This document assumes that you will be connecting to NBID’s server. If you choose for us to send files to your server instead, please see the alternate instructions at the bottom of this document.

Implementation Timeline

The typical installation timeline of an SFTP integration is 2-3 weeks. The steps of installing this integration are as follows:

  1. Your team fills out and returns the completed SFTP Intake form (2-3 business days)
  2. NBID configures your SFTP connection and returns server connection details to you (2-3 business days). It is not necessary to test in a Sandbox (test) environment. Our testing process is covered in more detail below.
  3. Connectivity Test (1 day)
  4. End to end testing plan (3 days)
Default Approach - NBID Server Hosts

Exchange Details

A SFTP integration allows your team to automate the exchange of data related to network activity as well as provide your team with consistent and accurate financial reporting. You will connect to NBID’s SFTP server where NBID will post files daily after processing. NBID provides your credentials and private key.

Use your preferred SFTP client (e.g., FileZilla, WinSCP, or command-line) with the following configuration connection settings:

DetailValue
Server Hostsftp.prod.modernfi.com
Port22
UsernameProvided by NBID
AuthenticationSSH keys (exchanged via SendSafely)
From NBID Folders/trial_balances/ /balances/ /withdrawals/ /gl_postings/ /gl_balances/ /settlement_postings/
Test Folder/test/
To NBID Folder/transactions/

Testing

Before going live, you'll complete a four-day testing plan to confirm your SFTP connection is working and that your files meet NBID's formatting requirements.This testing plan is designed to help your team understand how SFTP is used to send instruction files to NBID to initiate money movement in and out of the NBID network via the Program Account. We perform testing in our production environment with small dollar amounts.

Before you begin:

At the end of the full testing process, the Program Account balance will be zeroed out. The NBID team will walk you through each step live. See the below for an overview on the four-day testing plan.

Day 1: Connectivity Test

  • Submit a test transaction file to the /tests/ folder by 1:00 p.m. ET
  • Please flag to NBID that you have delivered the file.
  • NBID will confirm receipt of the file. Now that connectivity has been established, we will move on to end-to-end testing.

Day 2: Deposit Test

  • Submit a test transaction file to the /transactions/ folder by 1:00 p.m. ET containing two deposit transactions of $10 each (one per account).
  • Please flag to NBID that you have delivered the file.
  • NBID will review the file and confirm it meets formatting requirements. By 8:00 p.m. ET, you'll receive a balances file reflecting the two deposits.
  • State of accounts: 2 accounts × $10 = $20 total

Day 3: First Withdrawal Test

  • Submit a test transaction file to the /transactions/ folder by 1:00 p.m. ET requesting a $10 withdrawal from one account (shown as a negative value in the file).
  • Please flag to NBID that you have delivered the file.
  • NBID will review the file and confirm it meets formatting requirements. By 8:00 p.m. ET, you'll receive a withdrawal file reflecting the $10 withdrawal and balances file reflecting the single account with $10.
  • State of accounts: 1 account with $10 remaining, 1 account at $0

Day 4: Second Withdrawal Test

  • Submit a test transaction file to the /transactions/ folder by 1:00 p.m. ET requesting a $10 withdrawal from the remaining funded account.
  • Please flag to NBID that you have delivered the file.
  • NBID will review the file and confirm it meets formatting requirements. By 8:00 p.m. ET, you'll receive a withdrawal file reflecting the $10 withdrawal and balances file reflecting $0 between both accounts. The testing process is complete.
  • You're ready to use SFTP in the production environment for sending instruction files to NBID to initiate data exchanges related to money movement.
  • State of accounts: 2 accounts at $0 — testing complete

Critical Setup Considerations

File Format Specifications

All files are delivered or submitted as CSVs (exception case: Bulk Account Statements delivered monthly as a ZIP folder). File naming conventions are case-sensitive.

Inbound Files (From NBID)

FileNaming ConventionFolderSchedule
BalancesBALANCES_YYYY-MM-DD.csv/balances/Daily by 8:00 p.m. ET
Trial BalancesTRIAL_BALANCES_YYYY-MM-DD.csv/trial_balances/Daily by 8:00 p.m. ET
WithdrawalsWITHDRAWALS_YYYY-MM-DD.csv/withdrawals/Daily ~5:00 p.m. ET
GL PostingsGL_POSTINGS_YYYY-MM-DD.csv/gl_postings/Daily by 8:00 p.m. ET
GL BalancesGL_BALANCES_YYYY-MM-DD.csv/gl_balances/Daily by 8:00 p.m. ET
Cost Center GL PostingsCOST_CENTER_GL_POSTINGS_YYYY-MM-DD.csv/cost_center_postings/Daily by 8:00 p.m. ET
Cost Center GL BalancesCOST_CENTER_GL_BALANCES_YYYY-MM-DD.csv/cost_center_balances/Daily by 8:00 p.m. ET
Settlement PostingsSETTLEMENT_POSTINGS_YYYY-MM-DD.csv/settlement_postings/By EOD of first business day of following month
Cost Center Settlement PostingsCOST_CENTER_SETTLEMENT_POSTINGS_YYYY-MM-DD.csv/cost_center_settlement_postings/By EOD of first business day of following month
Bulk Account StatementsACCOUNT_STATEMENT_BUNDLE_YYYT-MM-DD.zip/account_statement_bundle/By EOD of the last day day of the month

Outbound Files (To NBID)

File naming conventions are case-sensitive. It is crucial that you follow the format below precisely.

FileNaming ConventionFolderDeadline
TransactionsTRANSACTIONS_YYYY-MM-DD.csv/transactions/1:00 p.m. ET daily

You MUST follow the exact naming format above. Hyphens and underscores must match.

transactions File Fields (Outbound)

FieldRequiredDescription
institution_sweep_account_idYesInternal account ID on your core for the depositor’s sweep account
amountYesNumeric only, no commas or symbols (positive = deposit, negative = withdrawal)
transacted_atYesUTC ISO 8601 timestamp for when the transaction is posted at your institution (e.g., 2025-01-27T14:30:00Z). Please ensure this date is never future dated. We can support back-dated transactions up to 7 days historically.
institution_transaction_idYesUnique transaction ID in your systems
descriptionNoOptional free-text transaction details

You MUST follow the exact naming format above. Hyphens and underscores must match.

TroubleShooting

Common Outbound File Issues

Connection Issues

Alternative Approach - Your Server Hosts

If you require NBID to push files directly to your server please note the differences below:

Set Up

You must provide your server details and whitelist NBID’s IP address.

Required from YouNotes
SFTP Server HostYour server’s host address
SFTP UsernameUsername NBID will use to connect
Whitelist NBID IP216.122.175.154, 52.23.22.228, 3.235.212.163, 44.236.219.135, 35.80.123.51, 34.225.165.210, 35.153.191.16, 34.218.128.91, 44.227.236.124
We will send to youNotes
SSH Public KeyPlease register this to your server.

Once your server details are received, NBID will provide an SSH public key for authentication. Please confirm once you have registered the SSH public key on your institution's server, and NBID will then test connectivity by sending you a sample file. You will be able to download files after the scheduled times outlined in 6. File Format Specifications.

Appendix

For questions during setup or any issues with file transfers, please reach out to your dedicated Account Manager or contact us at support@modernfi.com.

Security Best Practices:

Inbound File Data Dictionaries:

balances File Fields

Field NameRequiredDescription
institution_sweep_account_idYesInternal institution account ID on the core for the depositor's sweep account
balanceYesCurrent account balance, numeric values only (no commas or symbols)
timestampYesTimestamp for transaction processing at the FI, in UTC ISO 8601 format
descriptionYesDescription of balance entry
mtd_balanceYesMonth-to-date average daily balance, numeric values only (no commas or symbols)
interest_accrued_todayYesInterest accrued today, numeric values only (no commas or symbols)
interest_accrued_mtdYesInterest accrued month-to-date, numeric values only (no commas or symbols)
agg_monthly_apyYesAggregate monthly APY (decimal, e.g. 0.04 is 4%)

withdrawals File Fields

Field NameRequiredDescription
institution_sweep_account_idYesInternal institution account ID on the core for the depositor's sweep account
institution_return_account_idYesID for the account to which the depositor wants to return funds withdrawn from the network (i.e., the ID on your core for their primary operating account)
account_titleYesFull account title for the depositor’s sweep account on the core
amountYesPositive for deposits, negative for withdrawals, numeric values only (no commas or symbols)
transacted_atYesUTC ISO 8601 timestamp for when the transaction posted in the network allocation
modernfi_transaction_idYesNBID-generated unique transaction ID
descriptionNoOptional free-text withdrawal details

gl_postings File Fields

Field NameRequiredDescription
Account TitleYesName of the General Ledger Account
Entry TypeYesIndicates Debit or Credit (Dr/Cr)
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
AmountYesDollar amount of GL entry

gl_balances File Fields

Field NameRequiredDescription
Account TitleYesName of the General Ledger Account
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
MTD Entry TypeYesIndicates Debit or Credit (Dr/Cr)
MTD AmountYesDollar amount of GL entry
YTD Entry TypeYesIndicates Debit or Credit (Dr/Cr)
YTD AmountYesDollar amount of GL entry
Ending Entry TypeYesIndicates Debit or Credit (Dr/Cr)
Ending AmountYesDollar amount of GL entry

cost_center_gl_postings File Fields

Field NameRequiredDescription
Cost Center IDYesInternal identifier for the Cost Center
Account TitleYesName of the General Ledger Account
Entry TypeYesIndicates Debit or Credit (Dr/Cr)
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
AmountYesDollar amount of GL entry

cost_center_gl_balances File Fields

Field NameRequiredDescription
Cost Center IDYesInternal identifier for the Cost Center
Account TitleYesName of the General Ledger Account
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
MTD Entry TypeYesIndicates Debit or Credit (Dr/Cr)
MTD AmountYesDollar amount of GL entry
YTD Entry TypeYesIndicates Debit or Credit (Dr/Cr)
YTD AmountYesDollar amount of GL entry
Ending Entry TypeYesIndicates Debit or Credit (Dr/Cr)
Ending AmountYesDollar amount of GL entry

settlement_postings File Fields

Field NameRequiredDescription
Account TitleYesName of the General Ledger Account
Entry TypeYesIndicates Debit or Credit (Dr/Cr)
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
AmountYesDollar amount of GL entry

cost_center_settlement_postings File Fields

Field NameRequiredDescription
Cost Center IDYesInternal identifier for the Cost Center
Account TitleYesName of the General Ledger Account
Entry TypeYesIndicates Debit or Credit (Dr/Cr)
GL CodeYesInternal identifier for GL Account
Effective DateYesDate of entry (YYYY-MM-DD)
AmountYesDollar amount of GL entry

account_statement_bundle File Fields

The account_statement_bundle is a ZIP file. It includes one PDF per account and a CSV mapping file. It is delivered monthly. See the CSV file mapping file fields below.

Field NameRequiredDescription
Account IDYesNBID Account Identifier
institution_sweep_account_idYesInternal institution account ID on the core for the depositor's sweep account
institution_return_account_idYesID for the account to which the depositor wants to return funds withdrawn from the network (i.e., the ID on your core for their primary operating account)
statement_nameYesDepositor statement title
delivery_typeYesD (E-delivery) or P (paper statement delivery)
document_typeYesSweep Account Statement
statement_dateYesLast day of the month of the statement period