{"id":2775,"date":"2026-09-23T10:00:00","date_gmt":"2026-09-23T10:00:00","guid":{"rendered":"https:\/\/aaxonix.com\/resources\/?p=2775"},"modified":"2026-07-11T09:41:29","modified_gmt":"2026-07-11T09:41:29","slug":"netsuite-bank-reconciliation","status":"publish","type":"post","link":"https:\/\/aaxonix.com\/resources\/netsuite-bank-reconciliation\/","title":{"rendered":"NetSuite Bank Reconciliation: Automated Matching, Bank Feeds, and Period-End Close"},"content":{"rendered":"<style>\n.aax-post{font-family:'Poppins',sans-serif;color:#1a2332;max-width:820px;margin:0 auto;line-height:1.75}\n.aax-post h2{font-size:1.55rem;font-weight:600;margin:2.5rem 0 .9rem;color:#0a1628}\n.aax-post h3{font-size:1.15rem;font-weight:600;margin:1.8rem 0 .6rem;color:#1a2332}\n.aax-post p{margin:0 0 1.1rem}\n.aax-post ul,.aax-post ol{margin:0 0 1.1rem;padding-left:1.5rem}\n.aax-post li{margin-bottom:.45rem}\n.aax-post table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.93rem}\n.aax-post th{background:#0a1628;color:#fff;padding:.6rem 1rem;text-align:left}\n.aax-post td{padding:.55rem 1rem;border-bottom:1px solid #e8edf4}\n.aax-post tr:nth-child(even) td{background:#f5f7fb}\n.aax-post .faq-section{background:#f5f7fb;border-radius:10px;padding:1.8rem 2rem;margin:2.5rem 0}\n.aax-post .faq-item{margin-bottom:1.2rem;border-bottom:1px solid #e0e6ef;padding-bottom:1.2rem}\n.aax-post .faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.aax-post .faq-question{font-weight:600;color:#0a1628;margin-bottom:.5rem}\n.aax-post .faq-answer{color:#3a4a5c;line-height:1.65}\n.aax-post .aax-cta{background:linear-gradient(135deg,#0a1628 0%,#1a3a5c 100%);border-radius:12px;padding:1.8rem 2rem;margin:2.5rem 0;text-align:center}\n.aax-post .aax-cta p{color:#e8edf4;margin:0 0 1.2rem;font-size:1.05rem}\n.aax-post .aax-cta a{display:inline-block;background:#fff;color:#0a1628;font-weight:600;padding:.65rem 1.6rem;border-radius:6px;text-decoration:none;font-size:.95rem}\n<\/style>\n<div class=\"sp-toc-wrap\"><nav class=\"sp-blog-toc\" id=\"spBlogToc\" style=\"display:none\">\n  <h4><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/><\/svg> On this page<\/h4>\n  <ol class=\"sp-toc-list\" id=\"spTocList\"><\/ol>\n<\/nav><\/div>\n<div class=\"aax-post\">\n<p>NetSuite bank reconciliation is the process of matching every transaction in your NetSuite general ledger bank account against the corresponding line on your bank statement, then confirming the two balances agree before you lock the accounting period. Done correctly, it catches posting errors, prevents duplicate payments, and gives auditors a clean, time-stamped record of who approved what and when. Done manually in a spreadsheet, it consumes several hours of accountant time per account per month and introduces transcription risk at every step. This guide covers the full workflow inside <a href=\"https:\/\/aaxonix.com\/resources\/netsuite-financial-management\/\" class=\"sp-content-link\">NetSuite financial management<\/a>: bank feed connectivity, automated matching configuration, foreign currency handling, period-end sign-off, and the fixes for the errors teams hit most often.<\/p>\n\n<figure style=\"margin:36px 0;text-align:center;line-height:0;\"><img decoding=\"async\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/04\/netsuite-bank-reconciliation-inline-1.jpg\" alt=\"Bank statement matching transactions in a finance workflow\" style=\"width:100%;max-width:820px;height:auto;border-radius:10px;box-shadow:0 4px 20px rgba(10,22,40,.13);\" loading=\"lazy\" \/><\/figure>\n<h2>What Is Bank Reconciliation in NetSuite and Why It Matters for Month-End Close<\/h2>\n<p>Bank reconciliation in NetSuite compares the ending balance on a bank or credit card statement with the balance recorded in the corresponding subsidiary ledger account. The module lives under Transactions &gt; Bank &gt; Reconcile Bank Statement. Each time you open a reconciliation, NetSuite pulls all uncleared transactions from the GL account and presents them alongside the imported or manually entered bank statement lines.<\/p>\n<p>The process matters for three concrete reasons. First, the GL balance and the bank balance almost never agree on the statement date because of timing differences: checks issued but not yet cleared, deposits in transit, and bank fees posted directly by the institution. Reconciliation surfaces each of those differences and explains them. Second, any unexplained variance signals either a missing transaction, a duplicate, or an entry posted to the wrong account. Catching those before period lock is far cheaper than raising a correcting journal entry in a closed period and getting sign-off from a controller. Third, most audit frameworks, including SOX Section 404 for US-listed companies and ISAE 3402 for service organizations, require documented, signed reconciliations for every material bank account each month. NetSuite stores the sign-off timestamp, the user ID, and the final balanced amounts as part of the transaction record, which satisfies that requirement without additional paperwork.<\/p>\n<p>The reconciliation module works across all account types: checking, savings, foreign currency accounts, credit cards, and petty cash. It does not work for accounts classified as &#8220;Other Asset&#8221; or &#8220;Other Liability&#8221; in the chart of accounts; those require manual journal review outside the bank reconciliation workflow. For a full reference on the reconciliation screen and its fields, see the <a href=\"https:\/\/docs.oracle.com\/en\/cloud\/saas\/netsuite\/ns-online-help\/section_N2611401.html\" class=\"sp-content-link\" rel=\"noopener noreferrer\" target=\"_blank\">Oracle NetSuite bank reconciliation documentation<\/a>.<\/p>\n\n<h2>Connecting Bank Feeds in NetSuite: Supported Banks, Setup Steps, and Direct Connect vs File Import<\/h2>\n<p>NetSuite supports two methods for getting bank statement data into the system: direct bank feeds via an aggregation provider (SuiteApp-based) and manual file import using BAI2, OFX, QFX, or CSV formats.<\/p>\n\n<h3>Direct Bank Feeds<\/h3>\n<p>The Bank Feeds SuiteApp, available from the SuiteApp Marketplace at no additional license cost for most NetSuite editions, connects to financial institutions through a data aggregation layer. Setup steps are as follows:<\/p>\n<ol>\n  <li>Navigate to Setup &gt; Company &gt; Enable Features &gt; Accounting and confirm that &#8220;Bank Feeds&#8221; is checked.<\/li>\n  <li>Install the Bank Feeds SuiteApp from Customization &gt; SuiteBundler if it is not already present.<\/li>\n  <li>Go to Transactions &gt; Bank &gt; Bank Feeds &gt; Manage Bank Feeds and click &#8220;Add Account.&#8221;<\/li>\n  <li>Search for your institution by name or routing number. Coverage spans over 11,000 institutions in the United States, Canada, the United Kingdom, Australia, and most of the EU through the aggregation partner.<\/li>\n  <li>Authenticate using your online banking credentials. The aggregator stores an encrypted token; NetSuite never holds your raw banking password.<\/li>\n  <li>Map the connected institution account to the corresponding NetSuite GL account and subsidiary.<\/li>\n  <li>Set the fetch frequency: daily automatic, or on-demand. Most month-end teams set daily so the feed is current when they open reconciliation.<\/li>\n<\/ol>\n<p>Once connected, transactions appear in the &#8220;Bank Statement&#8221; column of the reconciliation screen automatically, typically with a one-business-day lag from the posting date at the bank. For full institution coverage and SuiteApp prerequisites, refer to the <a href=\"https:\/\/docs.oracle.com\/en\/cloud\/saas\/netsuite\/ns-online-help\/section_4579824669.html\" class=\"sp-content-link\" rel=\"noopener noreferrer\" target=\"_blank\">NetSuite Bank Feeds setup guide<\/a> in the Oracle help center.<\/p>\n\n<h3>File Import<\/h3>\n<p>For institutions not covered by the direct feed, or for organizations with security policies prohibiting credential-based aggregation, the file import path works as follows:<\/p>\n<ol>\n  <li>Download the statement from your bank&#8217;s portal in OFX, QFX, BAI2, or CSV format. BAI2 is preferred for US commercial accounts because it carries a richer transaction type code set.<\/li>\n  <li>Navigate to Transactions &gt; Bank &gt; Import Bank Statement.<\/li>\n  <li>Select the GL account, choose the file format, and upload the file.<\/li>\n  <li>NetSuite parses the file and loads each line as a bank statement entry. Duplicates detected by transaction ID are skipped automatically.<\/li>\n<\/ol>\n<p>A practical note: CSV imports require a field-mapping template. Build the template once per bank format and save it under the import profile so subsequent uploads require no re-mapping.<\/p>\n\n<h2>Automated Transaction Matching Rules: Configuring Tolerance, Date Ranges, and Amount Thresholds<\/h2>\n<p>After bank statement data is loaded, NetSuite&#8217;s automated matching engine compares each statement line against uncleared GL transactions. The matching logic is configurable through Setup &gt; Accounting &gt; Accounting Preferences &gt; Bank Reconciliation section.<\/p>\n\n<h3>Match Criteria Available<\/h3>\n<table>\n  <thead>\n    <tr><th>Criterion<\/th><th>What It Controls<\/th><th>Recommended Default<\/th><\/tr>\n  <\/thead>\n  <tbody>\n    <tr><td>Amount tolerance (absolute)<\/td><td>Maximum dollar difference allowed for a match<\/td><td>$0.00 for payments; $0.01 for bank fees<\/td><\/tr>\n    <tr><td>Amount tolerance (percentage)<\/td><td>Maximum percentage difference<\/td><td>0% for high-value wire transfers; 0.5% for small recurring charges<\/td><\/tr>\n    <tr><td>Date range (days)<\/td><td>How many days before\/after the statement date to search for a GL match<\/td><td>5 days for checks; 2 days for ACH and wires<\/td><\/tr>\n    <tr><td>Reference number match<\/td><td>Matches check number, wire reference, or payment ID<\/td><td>Enabled; required for checks<\/td><\/tr>\n    <tr><td>Payee\/description match<\/td><td>Fuzzy-matches transaction description against vendor name<\/td><td>Optional; useful for recurring utility payments<\/td><\/tr>\n  <\/tbody>\n<\/table>\n<p>To run automated matching, open a reconciliation session and click &#8220;Auto Match.&#8221; NetSuite executes the matching rules in priority order: exact amount plus exact reference number first, then amount within tolerance plus date within range, then description-based fuzzy match. Transactions that satisfy the top rule are marked &#8220;Matched&#8221; immediately. Those that fall only within looser criteria are flagged as &#8220;Suggested Match&#8221; and require one-click human confirmation before being finalized.<\/p>\n\n<h3>One-to-Many and Many-to-One Matching<\/h3>\n<p>NetSuite supports matching one bank statement line to multiple GL transactions (common when a vendor consolidates several invoices into a single ACH debit) and matching multiple bank lines to a single GL transaction (less common but occurs with split deposits). To use this, select the relevant lines on both sides of the reconciliation screen and click &#8220;Match Selected.&#8221; NetSuite creates a matching group and marks all selected lines as cleared.<\/p>\n\n<figure style=\"margin:36px 0;text-align:center;line-height:0;\"><img decoding=\"async\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/04\/netsuite-bank-reconciliation-inline-2.jpg\" alt=\"Bank feed connected to accounting software on a laptop screen\" style=\"width:100%;max-width:820px;height:auto;border-radius:10px;box-shadow:0 4px 20px rgba(10,22,40,.13);\" loading=\"lazy\" \/><\/figure>\n<h2>Handling Unmatched Items: Manual Matching and Journal Entries for Bank Charges and Interest<\/h2>\n<p>After auto-match runs, the remaining unmatched items fall into two categories: GL transactions with no corresponding bank line (outstanding checks, deposits in transit) and bank lines with no GL transaction (bank service charges, interest credits, NSF fees, wire fees).<\/p>\n\n<h3>Outstanding Checks and Deposits in Transit<\/h3>\n<p>These are timing differences and require no immediate action. They appear on the reconciliation as uncleared items in the GL column. If a check is still outstanding after 90 days, most finance policies require either re-issuance or a stale-check journal entry. NetSuite does not automate that decision, but the aged uncleared item report (Reports &gt; Banking &gt; Bank Reconciliation Summary) lists every outstanding item with its age, making the review straightforward.<\/p>\n\n<h3>Bank-Originated Charges and Credits<\/h3>\n<p>Service charges, interest income, wire fees, and NSF charges appear on the bank statement but have no GL entry because they were never entered as a bill or payment inside NetSuite. To handle them:<\/p>\n<ol>\n  <li>Inside the open reconciliation session, click &#8220;Add Journal Entry&#8221; next to the unmatched bank line.<\/li>\n  <li>NetSuite opens a pre-populated journal entry with the bank account on one side. Fill in the offset account (Bank Charges Expense, Interest Income, etc.), the memo, and the department or class if required by your segment structure.<\/li>\n  <li>Save the journal entry. NetSuite automatically marks it as cleared in the reconciliation and moves the bank line to the matched column.<\/li>\n<\/ol>\n<p>For organizations with dozens of bank-fee lines per month, consider setting up a recurring journal entry template for the standard monthly service charge so the GL entry posts automatically on the first of each month and auto-matches against the bank feed without manual intervention.<\/p>\n\n<h3>Handling Asset Purchases on the Bank Statement<\/h3>\n<p>Capital expenditure payments visible on the bank statement should already exist as vendor payments in NetSuite linked to a capital account. If they appear unmatched, the most common cause is that the purchase was posted directly to an expense account rather than a fixed asset account. Cross-reference the <a href=\"https:\/\/aaxonix.com\/resources\/netsuite-fixed-assets\/\" class=\"sp-content-link\">fixed asset transactions<\/a> register before creating a correcting journal entry, since reclassifying the posting affects depreciation schedules going forward.<\/p>\n\n<h2>Reconciling Foreign Currency Accounts: Exchange Rate Handling and Unrealized Gain\/Loss Entries<\/h2>\n<p>Organizations operating across multiple countries maintain bank accounts denominated in currencies other than their functional currency. NetSuite handles these through the multi-currency module, and the reconciliation workflow has specific behavior for foreign currency accounts.<\/p>\n\n<h3>How NetSuite Records Foreign Currency Bank Transactions<\/h3>\n<p>When a payment is entered in a foreign currency, NetSuite records two values: the transaction amount in the foreign currency and the equivalent in the functional currency using the exchange rate on the transaction date. The GL account balance displayed in NetSuite is always in the functional currency.<\/p>\n<p>At period end, if the exchange rate has changed since the original transactions were posted, the functional currency equivalent of the foreign currency bank balance differs from the sum of the individual transaction functional amounts. That difference is an unrealized foreign exchange gain or loss.<\/p>\n\n<h3>Revaluation Process<\/h3>\n<p>NetSuite handles revaluation through Transactions &gt; Financial &gt; Revalue Open Foreign Currency Balances. Run this process before finalizing the bank reconciliation for any foreign currency account. The steps are:<\/p>\n<ol>\n  <li>Select the accounting period and the exchange rate type (typically &#8220;Period Average&#8221; or &#8220;Period End&#8221; depending on your policy; IFRS and US GAAP both generally require spot rate at the balance sheet date for monetary items: see <a href=\"https:\/\/fasb.org\/page\/PageContent?pageId=\/standards\/accounting-standards-codification.html\" class=\"sp-content-link\" rel=\"noopener noreferrer\" target=\"_blank\">FASB ASC 830 foreign currency guidance<\/a> for the authoritative standard).<\/li>\n  <li>Select the GL accounts to revalue. Include all foreign currency bank accounts.<\/li>\n  <li>Preview the proposed journal entries. NetSuite shows the original rate, the new rate, the functional currency difference, and the proposed debit\/credit to the Unrealized Gain\/Loss account.<\/li>\n  <li>Post the revaluation. NetSuite generates a journal entry dated the last day of the period.<\/li>\n<\/ol>\n<p>After revaluation, the reconciliation screen for the foreign currency account will show the functional currency balance adjusted to the current rate. The reconciliation itself is still performed in the foreign currency: you match the foreign currency amount on the bank statement to the foreign currency amount of each GL transaction. The functional currency revaluation entry is a separate, non-reconciling item that adjusts the GL balance but has no bank statement counterpart.<\/p>\n\n<h2>Period-End Close Checklist: Reconciliation Sign-Off, Lock Periods, and Audit Trail Best Practices<\/h2>\n<p>A structured close sequence prevents the most common period-end failures: reconciling the wrong statement date, closing a period before all transactions are posted, and losing the sign-off record. The following checklist covers the reconciliation-specific steps within a broader month-end close.<\/p>\n\n<h3>Pre-Reconciliation Steps<\/h3>\n<ul>\n  <li>Confirm all vendor bills, vendor payments, customer receipts, and expense reports for the period have been approved and posted. Unposted transactions do not appear in the GL column of the reconciliation.<\/li>\n  <li>Confirm the bank feed has pulled all statement data through the last day of the period. For direct feeds, check the &#8220;Last Updated&#8221; timestamp on the Manage Bank Feeds screen.<\/li>\n  <li>Run revaluation for all foreign currency accounts (see above).<\/li>\n  <li>Confirm that <a href=\"https:\/\/aaxonix.com\/resources\/netsuite-revenue-recognition\/\" class=\"sp-content-link\">revenue recognition in NetSuite<\/a> schedules have been executed for the period so that deferred revenue postings are complete before you begin reconciling the operating account.<\/li>\n<\/ul>\n\n<h3>Reconciliation and Sign-Off Steps<\/h3>\n<ul>\n  <li>Open each bank account&#8217;s reconciliation session with the correct statement ending date and ending balance from the bank statement.<\/li>\n  <li>Run auto-match. Confirm all suggested matches. Investigate any GL transaction or bank line that has been unmatched for more than 15 days.<\/li>\n  <li>Create journal entries for all bank-originated items (fees, interest, NSF).<\/li>\n  <li>Verify the difference shown in the reconciliation screen reaches zero. NetSuite will not allow you to mark a reconciliation complete if it is out of balance.<\/li>\n  <li>Click &#8220;Reconcile&#8221; to finalize. NetSuite stamps the reconciliation with your user ID, the date and time, and the ending balance. This record is immutable once saved.<\/li>\n  <li>Export the reconciliation report (Reports &gt; Banking &gt; Bank Reconciliation) as PDF and attach it to the period-close checklist ticket in your project management system or store it in NetSuite&#8217;s file cabinet under the relevant subsidiary folder.<\/li>\n<\/ul>\n\n<h3>Period Lock<\/h3>\n<p>After all bank accounts are reconciled, lock the accounting period via Setup &gt; Accounting &gt; Manage Accounting Periods. Select the period, click &#8220;Close,&#8221; and set it to &#8220;All Locked.&#8221; This prevents any further posting to the period, including by administrators, unless the period is explicitly reopened with controller approval. NetSuite logs the lock action with a timestamp and user record.<\/p>\n<p>A practical sequencing note: lock sub-periods (AP, AR, Payroll) before locking the master period. If your organization uses NetSuite OneWorld across multiple subsidiaries, each subsidiary&#8217;s period must be locked individually before the parent consolidation period can be locked.<\/p>\n\n<h3>Audit Trail Best Practices<\/h3>\n<ul>\n  <li>Use NetSuite&#8217;s System Notes feature (available on every transaction record) to document any manual matching decisions or journal entries created during reconciliation. System Notes are timestamped and user-attributed.<\/li>\n  <li>Enable the &#8220;Require Reason for Editing Transactions in Closed Periods&#8221; preference so that any post-lock correction generates a mandatory memo field that appears in the audit log.<\/li>\n  <li>Run the Bank Reconciliation Discrepancy report monthly and retain it alongside the reconciliation PDF. The discrepancy report lists any transactions that were edited after reconciliation was finalized, which is exactly what auditors look for.<\/li>\n<\/ul>\n\n<figure style=\"margin:36px 0;text-align:center;line-height:0;\"><img decoding=\"async\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/04\/netsuite-bank-reconciliation-inline-3.jpg\" alt=\"Accountant completing period-end close on accounting software\" style=\"width:100%;max-width:820px;height:auto;border-radius:10px;box-shadow:0 4px 20px rgba(10,22,40,.13);\" loading=\"lazy\" \/><\/figure>\n<h2>Common Errors and Troubleshooting in NetSuite Bank Reconciliation<\/h2>\n<p>Even well-configured environments produce reconciliation exceptions. The following are the issues teams encounter most often, with the diagnostic path for each.<\/p>\n\n<h3>Duplicate Transactions in the GL Column<\/h3>\n<p>Symptom: the same payment appears twice in the uncleared GL transaction list. Cause: the payment was entered manually and also imported through an integration (for example, a payment processor sync that ran twice, or a bill payment entered by accounts payable after an automated sync had already created it). Fix: void one of the duplicate transactions after confirming with AP which posting is the source of record. Do not simply delete; voiding preserves the audit trail. After voiding, re-run auto-match.<\/p>\n\n<h3>Bank Feed Stops Updating<\/h3>\n<p>Symptom: the &#8220;Last Updated&#8221; timestamp on the Manage Bank Feeds screen is several days stale. Causes: bank changed its authentication handshake (common after online banking platform upgrades), or the credential token expired. Fix: go to Manage Bank Feeds, select the affected account, and click &#8220;Re-authenticate.&#8221; Complete the bank&#8217;s MFA flow. If re-authentication fails, contact your NetSuite administrator or work with a <a href=\"https:\/\/aaxonix.com\/services\/netsuite\/\" class=\"sp-content-link\">NetSuite managed services partner<\/a> to raise a case with the bank feed aggregation provider, providing the institution name and the account identifier.<\/p>\n\n<h3>Out-of-Balance Reconciliation After Clicking &#8220;Reconcile&#8221;<\/h3>\n<p>Symptom: you have matched all items but the reconciliation screen shows a non-zero difference. Common causes:<\/p>\n<ul>\n  <li>The statement ending balance was entered incorrectly. Compare the figure entered in the &#8220;Statement Ending Balance&#8221; field against the physical statement. A transposed digit is the most frequent culprit.<\/li>\n  <li>A journal entry was posted to the bank account after the reconciliation session was opened but before it was finalized. Refresh the session to pull in the new transaction.<\/li>\n  <li>A bank feed transaction was imported with the wrong sign (a credit imported as a debit). Review recent feed transactions for sign errors and correct them via the bank feed transaction edit screen before re-matching.<\/li>\n<\/ul>\n\n<h3>Missing Transactions from a Prior Period<\/h3>\n<p>Symptom: a check that cleared the bank in the current period has no GL match because it was voided or deleted in a prior closed period. Fix: reopen the prior period (with controller approval), restore or re-post the original transaction, re-close the prior period, and then match the cleared transaction in the current reconciliation. Avoid creating a new payment transaction in the current period to &#8220;compensate&#8221; for the missing one, as that double-counts the cash outflow.<\/p>\n\n<h3>Reconciled Balance Does Not Match GL Balance After Period Lock<\/h3>\n<p>Symptom: the bank reconciliation report for a closed period shows a different ending balance than the trial balance for the same account and date. Cause: a journal entry was posted to the account in the closed period after reconciliation was finalized, either through an integration that bypassed the period lock or through an administrator override. The Bank Reconciliation Discrepancy report (Reports &gt; Banking) identifies all such post-reconciliation postings. Reverse or reclassify those entries and re-run the reconciliation report to confirm agreement.<\/p>\n\n<div class=\"faq-section\">\n  <h2>Frequently Asked Questions<\/h2>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">How does NetSuite bank reconciliation differ from a manual spreadsheet reconciliation?<\/p>\n    <p class=\"faq-answer\">NetSuite stores both the bank statement data and the GL transactions in the same database, so the matching engine can apply configurable rules automatically rather than requiring manual row-by-row comparison. It also creates an immutable sign-off record linked to the user account, which a spreadsheet cannot provide. The result is faster reconciliation with a built-in audit trail that requires no additional documentation.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">Can NetSuite reconcile credit card accounts the same way as bank accounts?<\/p>\n    <p class=\"faq-answer\">Yes. Credit card accounts set up as &#8220;Credit Card&#8221; type in the chart of accounts appear in the reconciliation module the same way as bank accounts. The statement ending balance is typically a liability (credit) balance rather than an asset balance, but the matching and sign-off workflow is identical. Bank feed connectivity is also supported for major credit card issuers.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">What happens to uncleared items when I close a period?<\/p>\n    <p class=\"faq-answer\">Uncleared items remain in the outstanding transaction pool and carry forward into the next reconciliation period automatically. NetSuite does not require you to clear every item before closing a period, only before marking an individual reconciliation session as complete. Outstanding checks and deposits in transit appear in the next month&#8217;s reconciliation session so you can clear them when the bank processes them.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">How long does it take to set up a bank feed in NetSuite?<\/p>\n    <p class=\"faq-answer\">For a supported institution, the initial setup takes between 10 and 30 minutes: enabling the SuiteApp, authenticating with the bank, and mapping the account to the GL. Historical transaction import (typically 90 days of history is available at connection) takes a few minutes to process. The first automatic daily feed update runs the following business day.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">Does NetSuite support multi-subsidiary bank reconciliation in OneWorld?<\/p>\n    <p class=\"faq-answer\">Yes. Each subsidiary has its own chart of accounts and bank accounts within OneWorld. Reconciliation is performed at the subsidiary level, with each account reconciled in its own currency and functional currency. The parent entity&#8217;s consolidation reports aggregate the reconciled balances across subsidiaries. Period locking must be done subsidiary by subsidiary before the parent period can be locked.<\/p>\n  <\/div>\n  <div class=\"faq-item\">\n    <p class=\"faq-question\">What role permissions are needed to complete a bank reconciliation in NetSuite?<\/p>\n    <p class=\"faq-answer\">The user completing the reconciliation needs the &#8220;Reconcile Bank Statement&#8221; permission set to &#8220;Full&#8221; under the Banking permission group. Creating journal entries during reconciliation also requires the &#8220;Journal Entry&#8221; permission. Period locking requires the &#8220;Manage Accounting Periods&#8221; permission, which is typically restricted to controllers and finance managers. Separating the reconciler role from the period-lock role satisfies most segregation-of-duties requirements.<\/p>\n  <\/div>\n<\/div>\n\n<div class=\"aax-cta\">\n  <p>Getting bank reconciliation right in NetSuite requires correct feed setup, tuned matching rules, and a disciplined period-close sequence. Our team helps finance teams configure and validate each of those steps so month-end close runs on schedule with a clean audit trail.<\/p>\n  <a href=\"https:\/\/aaxonix.com\/contact\/\">Book a free consultation<\/a>\n<\/div>\n\n<p>NetSuite bank reconciliation covers the full range from simple single-currency checking accounts to multi-subsidiary foreign currency operations, and the platform handles the accounting mechanics of each case natively. The difference between a four-day close and a two-day close usually comes down to three things: a reliable bank feed that requires no manual file handling, matching rules tuned tightly enough to clear 85 to 90 percent of transactions automatically, and a close checklist that sequences revaluation, revenue posting, and reconciliation sign-off in the right order. Teams that invest the setup time upfront typically see reconciliation time per account drop from two to three hours to under 30 minutes, and the immutable sign-off records make both internal and external audit significantly less labor-intensive.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>On this page NetSuite bank reconciliation is the process of matching every transaction in your NetSuite general ledger bank account against the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2749,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"seo_title":"NetSuite Bank Reconciliation: Feeds, Matching, Close","seo_description":"Master NetSuite bank reconciliation: connect bank feeds, configure automated matching rules, handle foreign currency, and lock periods with a clean audit trail.","seo_keyword":"netsuite bank reconciliation","seo_faqs":"[{\"q\": \"What is NetSuite bank reconciliation and how does it work?\", \"a\": \"NetSuite bank reconciliation is the process of matching every transaction in your NetSuite general ledger bank account against the corresponding lines on your bank statement to confirm the two balances agree before you lock the accounting period. The module lives under Transactions > Bank > Reconcile Bank Statement. NetSuite pulls all uncleared GL transactions, loads bank statement data either via a direct bank feed or file import (OFX, BAI2, CSV), and then runs a configurable matching engine that clears transactions automatically based on amount, date range, and reference number rules.\"}, {\"q\": \"How long does NetSuite bank reconciliation take compared to a manual spreadsheet process?\", \"a\": \"A well-configured NetSuite bank reconciliation typically takes under 30 minutes per account per month once the bank feed is live and matching rules are tuned to clear 85 to 90 percent of transactions automatically. By contrast, a manual spreadsheet reconciliation for the same account commonly takes two to three hours because every transaction requires a row-by-row comparison with no automated matching. The time saving is largest for accounts with high transaction volumes, where the auto-match engine clears the bulk of items before a human reviews exceptions.\"}, {\"q\": \"Does NetSuite bank reconciliation support foreign currency accounts?\", \"a\": \"Yes. NetSuite handles foreign currency bank accounts through the multi-currency module. Each transaction is recorded in both the foreign currency amount and the functional currency equivalent at the exchange rate on the transaction date. Before finalizing a month-end reconciliation for a foreign currency account, you must run the Revalue Open Foreign Currency Balances process under Transactions > Financial to post an unrealized gain or loss journal entry. The reconciliation itself is performed in the foreign currency; the revaluation adjustment is a separate GL entry with no bank statement counterpart.\"}, {\"q\": \"NetSuite bank reconciliation vs third-party reconciliation tools: which should you use?\", \"a\": \"NetSuite's native bank reconciliation module covers the core workflow for most finance teams: direct bank feeds for over 14,000 institutions, configurable matching rules, one-to-many matching, and an immutable sign-off record. Third-party SuiteApps such as Nolan Advanced Bank Reconciliation or ZoneReconcile add value when you need higher auto-match rates through AI-trained matching engines, more complex matching scenarios across intercompany accounts, or reconciliation workflows for account types not supported natively. For most growing businesses using NetSuite, the native module is sufficient unless monthly exception volumes are consistently high.\"}, {\"q\": \"What are the most common mistakes to avoid in NetSuite bank reconciliation?\", \"a\": \"The most frequent errors are: entering the wrong statement ending balance (a transposed digit is the single most common cause of an out-of-balance reconciliation); reconciling before all vendor bills, payments, and expense reports are posted for the period (unposted transactions do not appear in the GL column); skipping the foreign currency revaluation step before finalizing multi-currency accounts; and failing to void rather than delete duplicate transactions (deletion removes the audit trail, while voiding preserves it). A close checklist that sequences these steps in a fixed order prevents most of these failures before they reach the sign-off stage.\"}]","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/comments?post=2775"}],"version-history":[{"count":2,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2775\/revisions"}],"predecessor-version":[{"id":6512,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2775\/revisions\/6512"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media\/2749"}],"wp:attachment":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media?parent=2775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/categories?post=2775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/tags?post=2775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}