Skip to main content

Oracle NetSuite (external)

Discover how to integrate Agicap with NetSuite, configure connection flows, and optimize your financial processes.

Written by Sybille Denis

1. Document Objectives

This document aims to detail the technical and functional operation of our connector. It defines the scope of action (what is covered or not) and lists the prerequisites necessary for its implementation.

Important Note: Our teams are available if you need any clarifications or further information.

How to use this document? We recommend reviewing this document with all knowledgeable persons (CIO, CFO, Chief Accountant, IT Manager), which objective is to:

  • Verify if the proposed flows match your business needs.

  • Confirm that your technical environment meets the installation prerequisites.

⚠️ Deployment Methodology:Our approach is intended to be pragmatic. If, after analysis, the prerequisites appear to be validated, we will favor the installation of the native connector.However, if for a technical reason or a specific configuration, the connector could not be activated , we will switch without problem to an alternative method via SFTP to ensure the continuity of your project.

2. Prerequisites and Deployment

2.1 Mandatory for any connection

Category

Requirement

How to check

NetSuite edition

Oracle NetSuite OneWorld only

A Subsidiary Settings Manager option is available under the Setup tab.

Subsidiaries feature

Must be enabled

Required to download and install the Agicap SuiteApp from the NetSuite marketplace. If it is off, the SuiteApp cannot be installed.

User role

The user performing the setup must have an Administrator role

Setup > Users/Roles > Manage Users

Account features

REST WEB SERVICES , OAUTH 2.0 , SuiteAnalytics Workbook

Setup > Company > Enable Features (see A, step 2)

Agicap SuiteApp

Agicap for NetSuite installed

It creates the dedicated AgicapIntegrationRole and supports the OAuth 2.0 M2M authentication.

🔒 We recommend a dedicated integration user rather than a personal account. This is a recommendation, not a requirement: a personal account works if you prefer that. The reason for the recommendation is that certificate-based authentication is tied to one NetSuite user and one role, so the connection stops working if that person leaves the company or their permissions are cleaned up.

2.2 Additional prerequisites per flow

Flow

Additional SuiteApp

Additional NetSuite configuration

Payment file import

SFTP Connector (mandatory) Electronic Bank Payments (bundle ID 416781) if you do not already generate payment files

Two File Cabinet folders, an RSA 2048 private key in PEM format, and your bank accounts configured for payment execution in Agicap.

Bank statement export

Auto Bank Statement Import (ABSI)

Client SuiteScript and Server SuiteScript enabled, an RSA 2048 private key in PEM format, and a bank statement format that a NetSuite parser supports.

2.3 Who does what

Step

Owner

Installing the SuiteApps, enabling account features, assigning the role

Your NetSuite administrator / power user

Filling the connection form in Agicap (account ID, certificate, certificate ID)

You, guided by this document

Mapping your NetSuite subsidiaries to your Agicap entities, and validating the connection

Agicap — this step is on our side and is required before data flows

Activating each flow on your connection

You , from the Banks & Integrations page once the connection is created. Each flow has its own toggle in the connection's synchronisation details.

Configuring the SFTP flows in NetSuite (ABSI, SFTP Connector, parsers)

Your NetSuite administrator. The Agicap side of these flows is configured by our technical team, so plan a point with them before you start.

3. General Information

The Agicap NetSuite connector is a bi-directional integration built and maintained in-house by Agicap . It uses NetSuite's REST API and SuiteQL endpoints , secured with OAuth 2.0 machine-to-machine certificate authentication , to import your business documents and accounting data into Agicap, and to write bank statements, payment entries and journals back into NetSuite.

One connector, one SuiteApp. Each flow is an optional feature activated on your connection : you can start with business document collection only and add flows later, on the same connection, without redoing the setup.

Mechanism

Used for

What you install in NetSuite

REST API + SuiteQL (OAuth 2.0 M2M)

Business documents, chart of accounts and third parties, analytical plan, tax codes, bank journal export, purchase journal export

Agicap for NetSuite SuiteApp — that is all. It creates the dedicated AgicapIntegrationRole and carries everything the connector needs.

SFTP (Agicap-hosted server)

Payment file import, bank statement export

SFTP Connector SuiteApp (outbound), Auto Bank Statement Import (ABSI) SuiteApp (inbound)

Synchronisation frequency

  • The business document flow synchronises automatically twice a day . The other API flows synchronise once a day . All of them can be triggered manually.

  • Most API calls filter on the record's modification date, so only what changed is transferred.

  • SFTP flows run on the schedule you configure in NetSuite, paired with the schedule configured on the Agicap side.

  • One identifiable connection is created per NetSuite account.

💡 By default, Agicap collects business documents whose NetSuite modification date is less than one year old at the time the connection is created. A document issued earlier can still appear if it was modified recently in NetSuite. If you need a longer history, tell us before the first synchronisation.

4. Flows & Use Cases

4.1 NetSuite → Agicap

Flow

Status

Transport

Feeds

Import business documents

Live with limitations

REST API

Treasury, Accounts Receivable, purchase-to-pay

Import chart of accounts and third parties

In beta

REST API

Reconciliation, bank journal

Import analytical plan

Live

REST API

Treasury, and the entries Agicap writes back

Import tax codes

Live

REST API

VAT handling on the documents Agicap exports, and a prerequisite for the purchase journal

Import purchase orders with lines (P2P)

Live

REST API

Payments, purchase-to-pay

Import payment files

Live with limitations (via SFTP)

SFTP

Payments

Import suppliers

In beta

REST API

Purchase-to-pay, third-party base

Import beneficiaries / IBANs

In beta

REST API

Payments

Import AR PDFs

Planned

REST API

Accounts Receivable

Import customer base and contacts

Planned

REST API

Accounts Receivable

4.2 Agicap → NetSuite

Flow

Status

Transport

Writes into NetSuite

Export bank statements

Live with limitations (via SFTP)

SFTP + ABSI

Bank statement records for reconciliation and financial reporting

Export bank journal from Treasury, journal entries

In beta

REST API

Journal entries, for bank movements with no business document behind them and for manual counterparts

Export bank journal from Treasury, invoice reconciliation

In beta

REST API

Customer and vendor payments applied against your open AR / AP invoices. NetSuite generates the journal entry from the payment itself.

Export supplier invoices, purchase journal

Planned

REST API

Vendor bills, with the invoice PDF attached. NetSuite will generate the journal entries from them. Not activable yet.

E-invoicing emission and reception (France)

Planned

—

—

Export Spend bank journal, cash in transit entries, debt, intragroup financing, AR follow-ups, financial investments, forecasts

Not available

—

Not currently covered. Tell us if one of these matters to you.

📘 Reading the statuses.  Live means deployed and running on several customer accounts. Live with limitations means available, with a limitation described in §5 and in the Limitations table. (via SFTP) means the flow is not carried by the API connector: the file is produced or consumed in NetSuite through dedicated SuiteApps and exchanged over an Agicap-hosted SFTP server. In beta means available, in gradual rollout, and still improving — activation is agreed case by case with your Agicap contact. Planned means on the roadmap and not activable yet. Not available means no commitment today.

5. Detailed Technical Documentation per Use Case

5.1 Import business documents (NetSuite → Agicap)

What it does. Feeds Agicap Treasury with expected cash movements, Agicap Accounts Receivable with the invoices to collect and follow up on, and the purchase-to-pay flow with your orders and delivery notes.

How. Agicap queries the NetSuite REST API and SuiteQL endpoints. Calls filter on the record's modification date so only what changed is transferred, and only the fields Agicap needs are retrieved.

What is collected — one synchronisation, all document types together:

  • Client invoices and credit notes

  • Supplier invoices and credit notes

  • Sales orders, and purchase orders with their lines

  • Delivery notes

  • Quotes

  • Referentials: currencies, subsidiaries, entities, customers, vendors, payment methods

Entity here refers to the NetSuite entity record (customers, vendors and other NetSuite entities). It has nothing to do with an Agicap entity, which is mapped to your NetSuite subsidiaries.

There is no per-document-type option: the business document flow collects all of them. What differs is where each type appears in Agicap, which depends on the Agicap modules active on your account, as well as the filters activated for each module.

Always on. The business document import is activated by default on every NetSuite connection and cannot be turned off. The other flows are optional and activated one by one.

⚠️ Known limitation — high volumes. Connections with a very high volume of business documents, or running on a limited NetSuite instance, can hit timeout errors during synchronisation. Documents then stop updating in Agicap until the next successful run. Our teams are actively working on it. If it happens, keep the API connection in place and contact Agicap Support with the connection name and the error message shown in the synchronisation details.

Optional — custom fields. You can have Agicap collect NetSuite custom fields and use them to build the label of your business documents in Treasury and Accounts Receivable, or request a specific filter. Clicking a field label in NetSuite reveals its internal id, for example custbody_phy_patient_name . This works for fields at the header level of a transaction document ; line-level fields are not covered. Declare the fields you need when you create the connection (see B, step 5) — adding them later requires renewing the connection credentials.

5.1.1 Import purchase orders with lines (NetSuite → Agicap)

What it does. Brings your NetSuite purchase orders, line by line, into the Agicap purchase-to-pay flow so supplier invoices can be matched against their order.

The collection itself is part of the business document synchronisation (§5.1). What this flow adds is the exposure of those orders in the Agicap Accounts Payable module, which requires the corresponding Agicap module to be active on your account — tell your Agicap contact if you expect to see purchase orders there and they do not appear.

5.2 Import chart of accounts and third parties (NetSuite → Agicap)

What it does. Keeps your accounting accounts and third parties in sync so you never maintain those lists manually in Agicap.

Accounting accounts. Agicap retrieves the full account list from NetSuite (internal ID, name, number, type, subsidiary assignment) and attaches each account to the relevant Agicap entities through the multi-entity mapping configured at setup.

Excluded from the import: accounts with no account number , and accounts of type NonPosting .

Third parties. Customers and vendors are imported into the Agicap third-party model with their name, code, linked accounting account and NetSuite internal ID.

💡 If the account selection lists in Agicap feel noisy, inactivating the accounts that have never moved, per subsidiary, is the quickest way to clean them up.

5.3 Import analytical plan and tax codes (NetSuite → Agicap)

What it does. Imports your NetSuite analytical dimensions so cash flows can be analysed by axis in Agicap, and so the same dimensions can be carried back on the entries Agicap writes into NetSuite.

What is synced: class , department , location , and your custom segments .

Tax codes are imported through the same mechanism, and feed VAT handling on the documents Agicap exports.

👀 Custom segments. To import custom segments, the AgicapIntegrationRole (or your custom role) must have read permission on each custom segment concerned. Check this with your NetSuite administrator.

5.4 Import payment files (NetSuite → Agicap, via SFTP)

What it does. Your payment files, generated in NetSuite, are exported to an Agicap-hosted SFTP server and feed the Agicap Payment module. You then execute the payments through Agicap's banking connectivity, which gives you a single execution and control point.

❗ This flow is not handled by the API connector. You generate the payment file yourself in NetSuite, in a format NetSuite supports, and the SFTP Connector SuiteApp delivers it. Setup in C.

What you need

  • You already know how to generate payment files in NetSuite, or you install the Electronic Bank Payments SuiteApp (bundle ID 416781).

  • The SFTP Connector SuiteApp.

  • Every bank account referenced in those files is configured in Agicap for payment execution: host-to-host, EBICS TS, a centralising bank, or global file export.

Where the file lands in Agicap. If the file format is accepted by the bank for that account, it can be imported either as To Pay or To Prepare . If the format is not accepted by the bank, it is imported as To Prepare so Agicap Payment can convert it into a format the bank accepts.

5.5 Export bank statements (Agicap → NetSuite, via SFTP)

What it does. Agicap retrieves your bank statements through its own banking connectivity (EBICS, H2H, SWIFT), then pushes them to an SFTP server. The ABSI SuiteApp picks them up and imports them into NetSuite, where they are parsed and mapped to your GL accounts for reconciliation and financial reporting.

This means you no longer maintain a separate bank connection on the NetSuite side: one banking setup in Agicap serves both tools.

⚠️ File format is the main constraint, please check it early. NetSuite supports a fixed list of statement formats and versions. For example CAMT.053.001.02 is supported by default, while CAMT.053.001.08 is not.Recommended approach: ask your bank to deliver statements in a format and version NetSuite supports. This is the simplest and most robust path.If that is not possible: a custom file transformation can be built by Agicap and is assessed case by case. Transformations of this kind are delivered as beta features on a best-effort basis, and are agreed in writing before implementation.

Setup in D.

5.6 Export bank journal and automatic reconciliation (Agicap → NetSuite)

What it does. You reconcile bank movements against invoices in Agicap. Agicap then writes the result into NetSuite, so your bank journal and your open AR/AP items are updated without manual re-entry.

How it works. Two mechanisms, depending on what was reconciled:

Case

What Agicap writes into NetSuite

A bank movement reconciled against a business document

A payment object — a customer payment or a vendor payment. NetSuite then generates the journal entry itself, following your own accounting rules. This is the same mechanism as the manual "Make Payment" flow in NetSuite.

A bank movement with no business document behind it, or manual counterparts added to a reconciled bank movement.

The bank transaction is written directly as a journal entry .

Status: In beta.

Prerequisites.

  • The chart of accounts flow (§5.2) must be active, so accounts resolve on both sides.

  • The bank journal and reconciliation features must be active on your Agicap account, with the manual export option disabled. Agicap Support activates these settings for you: ask them before switching the flow on.

💡 The Agicap bank journal field Causale has no equivalent in NetSuite, so it is not mapped. This is not blocking : the export works without it.

Payments covering several third parties. NetSuite requires each customer payment to reference a single third party. When one bank payment settles invoices belonging to several NetSuite third-party records, Agicap automatically splits it into one payment per third party. Lines with no identifiable third party are exported directly as a separate journal entry.

⚠️ Two things to prepare on your side.Deduplicate your vendors and customers in NetSuite. A payment must reference the invoice and the third party consistently. Two records for the same company may cause the export to be rejected.Supplier invoices created in Agicap, not in NetSuite , cannot be automatically reconciled by this flow yet: the connector looks for a NetSuite-side reference that does not exist on them. Native support is planned. If this is your case, talk to your Agicap contact about the interim options.

5.7 Import suppliers and beneficiaries (NetSuite → Agicap)

Status: In beta. Two separate flows, same setup: nothing beyond A and B, plus their toggle.

  • Import suppliers feeds the Accounts Payable supplier base and the purchase-to-pay flow with supplier data from NetSuite.

  • Import beneficiaries / IBANs feeds the beneficiary list of the Payment module, so you do not maintain it by hand in Agicap.

If this flow is part of your project, talk to your Agicap contact about scope and timing rather than planning from this page.

5.8 Export supplier invoices, purchase journal (Agicap → NetSuite)

Status: Planned. Development is ongoing and the flow cannot be activated yet.

What it will do. Supplier invoices digitised by Agicap (OCR) are created in NetSuite as vendor bills , with the invoice PDF attached to the record. NetSuite then generates the journal entries from those bills itself, so your purchase journal is fed without re-entry.

If this flow is part of your project, talk to your Agicap contact about scope and timing rather than planning from this page.

Setup procedure

🧭 Order of operations. A and B are mandatory for every API flow and must be complete before any flow is activated. C and D are the SFTP flows: they are independent and can be prepared in parallel.Plan roughly 30 minutes with your NetSuite administrator for A and B.

A - NetSuite configuration

Step 1 — Install the Agicap SuiteApp

Start here: a successful installation is itself the proof that your NetSuite edition is compatible.

  • Click the three dots at the top right, then SuiteApps .

  • Search for Agicap for NetSuite (search box at the top left) and click Install .

  • Verify the installation: Customization → SuiteCloud Development → Installed SuiteApp List . You should see the AgicapSuiteApp record.

⚠️ If the SuiteApp cannot be installed, check that the Subsidiaries feature is enabled. On a non-OneWorld account it is unavailable, and the API connector cannot be used — we would then move to the SFTP alternative.

Step 2 — Enable the required account features

Go to Setup → Company → Enable Features . Most of these are usually already on, but check these three carefully:

Feature

Subtab → section

Why it is needed

REST WEB SERVICES

SuiteCloud → SuiteTalk (Web Services)

All record read and write calls

OAUTH 2.0

SuiteCloud → Manage Authentication

Machine-to-machine authentication

SuiteAnalytics Workbook

Analytics → SuiteAnalytics Workbook

SuiteQL queries used for business documents and the chart of accounts

Save. Enabling a feature can take a moment to become effective.

Step 3 — Assign the AgicapIntegrationRole

The Agicap SuiteApp creates a dedicated role carrying exactly the permissions the connector needs, and nothing more.

  • Setup → Users/Roles → Manage Users .

  • Select the user who will carry the integration — we recommend creating a dedicated integration user — and click Edit .

  • In the Access tab at the bottom of the page, add AgicapIntegrationRole .

  • Click Add , then Save .

🔒 The role is maintained by Agicap and ships with the SuiteApp. When a new flow or a fix needs an additional permission, we update the role and it propagates with the SuiteApp version: no reconnection and no new certificate on your side.If your security policy requires it , you can replace the standard role with a custom role dedicated to your account , scoped with your teams. Raise it with your Agicap contact before the setup call. One consequence to know before choosing it: a custom role does not receive the automatic permission updates above. When a new flow or a fix needs a permission, your connection can go into error until your team adds it manually.

B - Agicap connection form

In Agicap, open Banks & Integrations and search for NetSuite . The connection form opens. Keep a NetSuite tab open next to it: you will go back and forth twice.

Step 1 — Account ID

Your NetSuite account ID is visible either directly in the URL of your NetSuite session, or in Setup → Company → Company Information .

Step 2 — Download the Agicap public key

Agicap authenticates with an OAuth 2.0 client credentials flow backed by a certificate. Agicap generates the certificate ; you upload it into NetSuite.

In the connection form, click Download the public key and keep the file at hand.

Step 3 — Create the M2M integration in NetSuite

  • In NetSuite, go to Setup → Integration → OAuth 2.0 Client Credentials (M2M) Setup .

  • Create a new client credentials mapping between:

    1. the entity , that is the NetSuite user from A, step 3,

    2. the role AgicapIntegrationRole ,

    3. the application Agicap SuiteApp,

and upload the certificate you downloaded at step 2.

  • Save.

Step 4 — Copy the certificate ID back into Agicap

Copy the ID of the certificate you just created and paste it into the Certificate ID field of the Agicap form.

👀 The NetSuite certificate list is not sorted by creation date . If you created more than one certificate, make sure you take the most recently created one. Check the user and the role linked to the certificate to confirm.

Step 5 — Optional: declare the custom fields you want collected

If you want Agicap to build business document labels from NetSuite custom fields, declare their internal ids here, at connection time. Clicking a field label in NetSuite reveals its internal id, for example custbody_phy_patient_name . Header-level fields on transaction documents only.

To add custom fields after the connection is live:

  • Open the connection in Banks & Integrations → Manage connection → Renew Authorization and complete the flow.

  • The connection switches back to Setting up : Agicap Support must validate it again before synchronisations resume.

  • Once it is syncing again, contact Agicap Support with the business document type and the module where the label should be built.

⚠️ Once you click Renew Authorization or Edit credentials , a new public key is generated and the previous authentication data is deleted. You must complete the flow , otherwise all subsequent synchronisations fail. If that happens, simply redo the flow to the end.

Step 6 — Agicap validates the connection

After you submit the form, the connection appears in Banks & Integrations with a Setting up status. Agicap then completes the multi-entity mapping between your NetSuite subsidiaries and your Agicap entities, and validates the connection.

⚠️ This mapping cannot be modified once validated. Please review your list of subsidiaries with your Agicap contact before it is saved. Correcting a mistake means deleting the connection and recreating it from scratch.

Inactive subsidiaries do not need to be selected: the connector ignores them.

While the connection is in Setting up , no data flows. This is expected.

Step 7 — Check the first synchronisation

The connection has left the Setting up status

The synchronisation timeline shows a completed run

Your documents appear in Treasury and Accounts Receivable, for at least one entity

Amounts and currencies match what you see in NetSuite

The automatic synchronisation then runs twice a day for business documents and once a day for the other flows, and can be triggered manually at any time.

💡 On a large account, the very first synchronisation can take significantly longer than the daily ones, because it collects the historical backlog in successive time windows. If it appears stuck, contact your Agicap contact rather than recreating the connection.

C - Payment files via SFTP (NetSuite → Agicap)

📌 Start by asking your Agicap contact to provision the file transfer. The server URL, port, username and host key all come from it, and the NetSuite configuration below cannot be completed without them.

Step 1 — Prepare the SSH key

⚠️ Key format constraints. The NetSuite SFTP connector accepts RSA, ECDSA and DSA keys, and the private key must be in PEM format. Agicap servers accept RSA and EdDSA. The safe choice is an RSA 2048 key whose private key is in PEM format . The WinSCP OpenSSH export below is how you produce that file, it is not a different format.

  • Generate a 2048-bit RSA key pair, for example with the WinSCP key generator.

  • Make sure the private key file begins with -----BEGIN RSA PRIVATE KEY----- . If not, convert it: WinSCP → Tools → Convert Key File → load the private key → Export OpenSSH key . Do not tick "force new format".

  • Send the public key to your Agicap contact, who provisions your file transfer and returns the server URL, port, username and host key.

Step 2 — Prepare the payment files in NetSuite

If you already generate payment files in NetSuite, nothing to do here.

If you do not, install the Electronic Bank Payments SuiteApp: Customization → SuiteBundler → Search & Install Bundles → List , bundle ID 416781 , then configure your payment file templates per bank.

💡 Payment file generation is a NetSuite configuration topic rather than an Agicap one. Your NetSuite integrator is usually the fastest route if you are setting it up for the first time.

Step 3 — Create the File Cabinet folders

Create two folders in your File Cabinet, one for files awaiting transfer and one for files already transferred. Suggested names:

  • agicap payment - processing

  • agicap payment - processed

Note the internal ID of each folder, you will need them at step 5.

Step 4 — Install the SFTP Connector SuiteApp

Customization → SuiteApps → search SFTP Connector → Install .

Step 5 — Create and map the outbound configuration

  • SFTP → SFTP Records → Outbound Configurations → New .

  • Fill in the name, server URL, port, host key and authentication method, using the credentials Agicap provided.

  • In the Outbound Mapping subtab, enter the internal IDs of the two File Cabinet folders from step 3, and the folder name on the Agicap SFTP server in the Bank folder field.

  • Save, then reopen the configuration in Edit mode and click Test Connection . Note: Test Connection does not work in View mode.

  • Click Outbound-Manual to run one export by hand and confirm the file arrives.

Step 6 — Schedule the export

  • SFTP → SFTP Records → Outbound Configurations → View on your record.

  • Click Outbound-Schedule . A Script Deployment page opens.

  • Set the frequency you need and Save .

💡 If you manage several entities, agree the folder structure and file naming with your Agicap contact before scheduling, so payment files can be separated per entity on arrival.

D - Bank statements via SFTP and ABSI (Agicap → NetSuite)

📌 Same starting point as C: ask your Agicap contact to provision the file transfer first. The credentials and host key come from it.

Step 1 — Check your statement formats first

Before any configuration, list the banks and statement formats involved and confirm each one is supported by a NetSuite parser. This is where projects usually stall. See the callout in §5.5.

Step 2 — Rights and SuiteApp

  • Make sure you have Administrator rights, or the specific ABSI permissions.

  • Install Auto Bank Statement Import : Customization → SuiteApps (or SuiteCloud Development → SuiteApp Marketplace ) → search → Install .

Step 3 — Enable SuiteScript

  • Setup → Company → Enable Features → SuiteCloud subtab.

  • Under SuiteScript, check Client SuiteScript and Server SuiteScript .

  • Save . This is what makes the Private Keys page reachable.

Step 4 — Upload the private key

  • Setup → Company → Preferences → Keys → Create New .

  • Details tab: a descriptive Name , a script ID with no spaces or special characters (NetSuite prefixes it with custkey ), and a Description stating what the key is for and who maintains it.

  • Files tab: choose the private key file. It must be in PEM format — see C, step 1 for how to produce one.

  • Password : the passphrase used when generating the key, if any.

  • Audience tab, optional: check Restrict to Employees to limit which employees can use the key in SuiteScript, and use Restrict to Scripts to limit it to specific scripts.

  • Save . NetSuite validates and stores the key.

Step 5 — Create the Financial Institution record and Format Profile

❗ Create one Financial Institution record per bank , then one Format Profile per file format and version within it. Mixing formats in one profile is the most common cause of failed imports.

  • Setup → Accounting → Financial Institutions → List → New .

  • In the record, add a Format Profile and choose SFTP Connectivity as the method.

  • Enter the server URL, username, password and host key provided by Agicap. For an Agicap server the URL is files.agicap.com ; the port, username and host key come with the credentials your contact sends you.

  • Define the download filename pattern . Agree the exact filename and directory with your Agicap contact.

Step 6 — Account linking

Map the data NetSuite will parse to your GL accounts. List every account concerned by the statements you import, and for each value the parser will extract, put that value in the first column and link it to the corresponding NetSuite GL account in the third column.

The format of the first column must match exactly what your chosen parser produces.

Step 7 — Configure the parser

Format

What to watch

CAMT.053

Add every transaction code that can appear in the statements you receive. A missing code makes the whole import fail. Then check the tag mapping for each NetSuite field.

MT940

Standard NetSuite parser, follow the NetSuite documentation.

BAI2

Standard NetSuite parser, follow the NetSuite documentation.

CSV

Fallback when a transformation was necessary. Columns and formats must match the NetSuite CSV import definition exactly.

Step 8 — Test and activate

  • Ask Agicap to place a matching file on the SFTP server first, so the test is meaningful.

  • Click Submit , not Save directly.

  • If the result is green, click Save .

  • Click Track status to confirm the file was retrieved and parsed.

💡 Frequency. The import flow runs about once a day. You can trigger it manually by resubmitting the Format Profile, with a 60 minute minimum between two runs.Retention. NetSuite does not move or delete files once processed. The archiving strategy on the SFTP server is agreed with your Agicap contact during the setup, so the same statement is not imported twice.

Avoiding duplicate imports. NetSuite should skip a file it has already imported, but we recommend one of these strategies, agreed with your Agicap contact:

  • Date stamp in the filename — each file name includes its date (for example bank_statement_2024-06-15.csv ), and your NetSuite filename pattern accepts that date.

  • Two-folder flow — files are delivered to a to be processed folder and moved to a processed folder once NetSuite's processing window has passed.

  • Custom SuiteScript on your side that renames or moves files after import.

Several banks or formats. Each NetSuite parser must only pick up the files of its own bank. Either use one folder per bank (for example /Bank_A/ , /Bank_B/ ), or a single folder with a naming convention (a bank prefix or suffix in each file name, for example BANKA_20240615.csv ) and configure each Format Profile to pick only its own pattern. A mix of both is possible.

How to activate each use cases

Once the Setup is done, and a first collection of business documents ran, you can activate the other flows directly on the Banks & Integrations page > Synchronisation details . Each flow has its own on/off toggle. The business document import is activated by default and cannot be turned off.

Image

6. Frequent errors

Error

What you see

Cause

What to do

Timeout at the first synchronisation

No expected transactions appear in Treasury after the first synchronisation

Too much history retrieved at once (by default, the last 365 days of modified documents)

Contact Agicap Support: they can reduce the initial collection window, for example to 90 days.

Timeout on a running connection Message in the synchronisation details: The request was canceled due to the configured HttpClient.Timeout of 300 seconds elapsing. > The operation was canceled.

Documents are no longer updated in Agicap

NetSuite took more than 5 minutes to answer an API call. Agicap stops calls after 5 minutes so that synchronisations do not hang indefinitely.

Run the synchronisation again a bit later. If the error persists, contact Agicap Support with the connection name and the error message. Do not delete or replace the connection.

Aggregator error : Invalid URL: The hostname could not be parsed.

All synchronisations fail after the credentials were edited

Edit credentials or Renew Authorization was started but not completed. A new public key is generated as soon as you click, and the previous authentication data is deleted.

Redo the credentials flow and complete it to the end (B, steps 2 to 4).

Connection stays in Setting up

The connection was created but nothing synchronises

The mapping between your NetSuite subsidiaries and your Agicap entities has not been completed and validated yet, or a renewed authorization has not been revalidated

Contact Agicap Support: the mapping and validation are done on Agicap's side (B, step 6).

Bank journal export rejected on a specific third party

One export fails, the others pass

Duplicate third party in NetSuite, so the invoice reference and the third-party reference do not point to the same record

Deduplicate vendors and customers in NetSuite.

Purchase orders collected but not visible in Accounts Payable

Nothing appears in Accounts Payable after a successful synchronisation

The corresponding Agicap feature is not activated on your account

Contact Agicap Support to activate it.

Need help or more information?

Contact your Agicap support.

Did this answer your question?