FTP and NetSuite: Bank Statement CSV Reconciliation Template

A scheduled Spojit workflow downloads the day's bank-statement CSV from an FTP drop, matches each line against open NetSuite invoices, and flags anything it cannot reconcile.

What It Builds

A Schedule Trigger fires each morning. A FTP Connector node pulls the latest statement file, a CSV utility parses the rows, and a Loop walks each transaction. For every line a NetSuite Connector node looks up open invoices and a Condition checks for a match by amount and reference. Matched lines are cleared; unmatched transactions are collected and sent to your team with a Send Email node for review.

The Prompt

Paste this into Miraxa and it builds the workflow, connecting the tools for you:

Every weekday at 7am, download the latest bank-statement CSV from our FTP server, then for each transaction line look up open invoices in NetSuite and match by amount and payment reference. Mark matched invoices as reconciled, collect any transactions that have no matching invoice, and email that unmatched list to finance@ourcompany.com for review.

Connectors Used

  • Schedule trigger - runs the reconciliation on a daily cron.
  • FTP - downloads the bank-statement CSV from the drop folder.
  • NetSuite - looks up and updates open invoices.
  • Send Email - delivers the unmatched-transaction report.

Customize It

Change the 7am time and weekday cadence, point the prompt at a different FTP folder or filename pattern, and adjust the match rule (for example, allow a small amount tolerance or match on customer name as well as reference). Swap the review address, or route unmatched lines to a Slack channel instead.

Tips

  • Use a NetSuite role scoped to read invoices and post payments only, nothing broader.
  • Keep the NetSuite lookups in Direct mode so each step calls one exact tool with no AI cost.
  • If your bank reference formats vary, let the matching step run in Agent mode so it can reason across slightly inconsistent references.

Related

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.