ml-connector
Exact OnlineSFTP / Flat Files

Exact Online and SFTP / Flat Files integration

Exact Online stores your accounting, purchasing, and inventory in the cloud. Your trading partners, legacy ERP systems, and EDI workflows often work with flat files over SFTP. Connecting the two lets you export purchase invoices, GL accounts, vendors, and payments from Exact Online as structured files (CSV, X12, EDIFACT, or fixed-width) directly to your SFTP server. ml-connector manages the OAuth token lifecycle and file formats so your downstream systems always have the latest data without manual export steps.

How Exact Online works

Exact Online exposes accounts, purchase invoices, purchase orders, GL accounts, cost centers, vendors (as Accounts with IsSupplier=true), payments, journal entries, and items through REST APIs using OData v3 query syntax (filter, select, orderby, top, skip). Region-specific endpoints exist for Netherlands, Belgium, UK, Germany, France, Spain, and USA. Authentication uses OAuth 2.0 Authorization Code Grant, with access tokens valid for 10 minutes and refresh tokens rolling every 30 days. Related entities must be fetched in separate requests since the API does not support $expand. Webhooks are available for significant resources including Accounts, Invoices, Orders, and GL Accounts, though the webhook payload contains only the entity key and action (create/update/delete) - full entity data must be fetched via a separate REST call.

How SFTP / Flat Files works

SFTP / Flat Files is a file-transfer pattern using SSH File Transfer Protocol over TCP port 22. Partners provide their own SFTP hosts. Authentication uses SSH key-based (preferred) or username/password credentials. Data is exchanged as structured text files in CSV, X12 810/850/820, EDIFACT INVOIC/ORDERS, XML, or fixed-width format. There is no native push or webhook mechanism, so remote systems must poll the SFTP server's inbound folder on a schedule (typically 5 to 60 minutes). File format, column layout, and naming conventions are partner-specific and must be configured per relationship. Standard folder layout includes inbound/, outbound/, processed/, error/, and acks/. X12 997 and EDIFACT CONTRL acknowledgment files must be produced and deposited after receiving inbound files.

What moves between them

ml-connector polls Exact Online and exports purchase invoices, GL accounts, GL account mappings, vendors, payments, and cost centers as files to your SFTP server's inbound folder. Data flows one-way from Exact Online to SFTP; reads are pull-only. Files are deposited in your configured format (CSV, X12 EDI format, or fixed-width) on a schedule you set (typically daily or on-demand). After Exact Online files are processed by your downstream system, you can configure ml-connector to produce and deposit X12 997 functional acknowledgments or EDIFACT CONTRL messages in the acks/ folder so Exact Online has a receipt.

How ml-connector handles it

ml-connector stores your Exact Online OAuth credentials and SFTP key or password encrypted, handles token refresh automatically (Exact Online's 10-minute access token and rolling 30-day refresh token), and retrieves your division ID from the OAuth user context. It polls Exact Online for new or changed purchase invoices, GL accounts, vendors (filtered by IsSupplier=true), and payments on your chosen schedule, then transforms them into your specified flat-file format (CSV, X12 810/820, EDIFACT INVOIC, or fixed-width) and deposits them into your SFTP inbound folder. Since Exact Online API does not support $expand, related data (line items, cost center codes) is fetched in separate REST calls and joined client-side before file generation. ml-connector verifies the SFTP host key to prevent MITM attack, and you can choose key-based or password authentication. After files are processed, it can generate and deposit X12 997 or EDIFACT CONTRL acknowledgments so your Exact Online workflow confirms receipt. Every file carries a full audit trail and can be replayed if a downstream transformation fails.

A real-world example

A regional manufacturing distributor uses Exact Online for accounting and vendor management in the Netherlands. Their warehouses and customer-facing order system run on a legacy EDI-based ERP that expects purchase orders and vendor invoices as X12 820 payment files and 810 invoice files, received daily via SFTP. Before the integration, the accounting team exported purchase data from Exact Online each morning and manually re-keyed it into a flat-file generator to produce the X12 messages their warehouse system could read. With Exact Online and SFTP connected, each morning ml-connector polls Exact Online for new invoices and vendor account changes, generates X12 810 and 820 files in the exact format the warehouse ERP expects, and deposits them in the SFTP inbound folder. The warehouse system processes the files automatically, and acknowledgments flow back through ml-connector so the accounting team has a record that data was delivered.

What you can do

  • Export purchase invoices and line items from Exact Online as X12 810 EDI, CSV, or fixed-width files to your SFTP server on a daily or on-demand schedule.
  • Map Exact Online vendors (Accounts with IsSupplier=true) and GL accounts to your SFTP file layout so invoices route to the correct cost center and account.
  • Refresh Exact Online OAuth tokens automatically so the integration runs unattended across the 30-day refresh cycle.
  • Produce X12 997 functional acknowledgments or EDIFACT CONTRL messages after receiving inbound files so Exact Online workflows confirm data receipt.
  • Verify SFTP host keys and support both SSH key and password authentication for secure file transfer.

Questions

Can ml-connector export data from Exact Online to SFTP in X12 EDI format?
Yes. ml-connector can transform Exact Online invoices, payments, and GL entries into X12 EDI format (810 invoices, 820 payments, 850 purchase orders) and deposit them on your SFTP server. The field mapping and file layout are configured per customer based on your trading partner's or downstream system's requirements.
How does ml-connector handle Exact Online's OAuth token expiry?
ml-connector stores OAuth credentials encrypted and manages both the short-lived access token (10 minutes) and the rolling refresh token (30 days). It refreshes the access token automatically on each poll cycle and rotates the refresh token every time it is used, so the integration runs unattended for the full 30-day window without re-authorization.
Does the SFTP / Flat Files connector require acknowledgments?
Acknowledgments are optional. If you need your downstream system to confirm receipt, ml-connector can generate X12 997 or EDIFACT CONTRL acknowledgment files and deposit them in the acks/ folder. If your trading partner or legacy ERP does not require acknowledgments, ml-connector simply polls and deposits data files on your schedule.

Related integrations

Connect Exact Online and SFTP / Flat Files

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started