SFTP lets you exchange files securely:
Imports: Your ERP sends files to Confido. You configure how Confido reads and imports them.
Exports: Confido creates files for your ERP. You configure the output to match the format your ERP accepts.
You manage your file configurations and mappings in Confido.
Connect to SFTP
Your Confido team sets up the connection and provides the server address, port, username, authentication instructions, and folders assigned to your company.
Enter these connection details in your ERP's SFTP settings or your SFTP client.
Configure authentication using the instructions provided.
Connect and check that you can access your assigned folders.
Use the inbound folder for files you send to Confido and the outbound folder for files you receive from Confido.
For example, your folders may be named To_Confido and From_Confido. Use the actual folders provided for your company.
Note: A working connection allows files to be transferred. File configurations and mappings determine what those files contain and how they are processed.
You need customer admin access to manage file configurations. Your ERP's export settings describe the files it sends; its import requirements describe the files it can receive. Use those settings to configure the appropriate sections below.
Where you manage files
Everything below lives under Integrations → Business Systems:
File configurations — the files you send and the files Confido generates, and how each one is read or written.
SFTP runs — the history of every file processed, with row counts and errors.
Screenshot 1. Integrations → Business Systems. File configurations and SFTP runs appear once your Confido team has set up the connection.
Both screens have Imports and Exports tabs. Imports are the files your ERP sends to Confido; exports are the files Confido creates for your ERP.
Set up imports
Confido supports importing open invoices, customers, items, and shipments. Follow the steps below for each file format you send.
Use CSV or delimited text files. An Excel workbook (.xlsx) is not supported by this import workflow. Changing a workbook's filename to .csv does not convert it; export it as CSV instead.
1. Add an import configuration
Navigate to Integrations → Business Systems.
Open File configurations and stay on the Imports tab.
Choose the type of data you want to import.
Click + Add File Type to open a new configuration.
Screenshot 2. Choosing what kind of data a new configuration handles.
New configurations start with their required fields already added, and they open expanded so you can fill them in. Saved configurations start collapsed — click a configuration's title to open it.
Screenshot 3. An open invoice configuration.
Where the data lands and what happens to records missing from the file.
Which folder and filenames this configuration matches.
How Confido reads the file.
You can have multiple configurations for the same type of data, such as invoice files from different folders or with different formats. Give each configuration a distinct folder and filename pattern so it is clear which files it handles. Select the subsidiary that should receive the data, or use your company's default subsidiary.
Note: The file type cannot be changed after a configuration is saved. If you picked the wrong one, deactivate it and add a new one.
Choose a filename pattern
Use the filename exactly as it will arrive, or use * to match a changing part of the name.
For example, Invoices_*.csv matches both:
Invoices_20260910.csv
Invoices_20260911.csv
Match the capitalization used by your ERP. Use Invoices_*.csv rather than a date placeholder such as Invoices_{YYYYMMDD}.csv. Date placeholders are not expanded automatically.
Keep folders out of the filename pattern. Put them in Inbound path instead.
Choose the inbound folder
The inbound path is relative to the upload folder provided by your Confido team.
If your upload folder is To_Confido:
A blank inbound path matches files directly inside To_Confido.
An inbound path of invoices matches files inside To_Confido/invoices.
Do not enter the upload folder again, a leading slash, or a full server address. Folder matching is exact: invoices does not also include invoices/archive.
Tip: Avoid overlapping patterns such as *.csv and Invoices_*.csv in the same folder. Confido uses the first matching configuration; it does not import the same file through every matching configuration. Ask your Confido team for help if existing patterns overlap.
2. Set the file-reading options
Match these settings to the file your ERP actually produces:
Delimiter: The single character separating columns, usually a comma. Some files use a semicolon, tab, or pipe (|).
Has header: Set this to Yes if the first row contains column names, such as Invoice ID,Customer ID,Balance. Set it to No if the first row already contains data.
Trim spaces: Set this to Yes to remove spaces before and after cell values. Spaces within a value remain unchanged.
Text encoding: Choose UTF-8, or UTF-8 with BOM if your export includes a UTF-8 byte-order mark. Ask your ERP administrator if you are unsure.
Each data row should have the same number of columns. In a comma-separated file, quote values that contain commas. For example, the amount 1,250.00 should appear as "1,250.00" in the CSV.
3. Choose how records are reconciled
Reconciliation determines what happens to records already in Confido when they are missing from a new file.
Incremental
Add new records and update matching records using their IDs. Records absent from the file remain unchanged.
Use this when your ERP sends only new or changed records. For example, a file containing two updated invoices changes those invoices without closing other invoices.
Full snapshot
Treat the file as the complete set for the import's reconciliation scope. Missing records can be changed even though they do not appear in the file:
Open invoices: Other invoices with external IDs in the selected subsidiary can have their open balances set to zero.
Customers and Items: Missing records in the applicable import scope can be deactivated.
Shipments: Missing lines on feed-managed invoices in the selected subsidiary can be removed from the active set.
Important: Only choose this when every file contains the complete expected set. A snapshot's effect can extend beyond records imported by that specific filename pattern. Confirm the scope with your Confido team before using multiple snapshot configurations for related data.
An empty full snapshot is rejected. When rows are rejected, Confido skips missing-record reconciliation for that run; inspect the errors before sending or rerunning a corrected file.
Replace by parent invoice — shipments only
Replace the shipment lines for each invoice represented in the file. Existing lines missing from that invoice's new set are removed. Invoices not represented in the file are left unchanged.
For example, invoice INV-1001 currently has lines L1, L2, and L3. A file containing only L1 and L2 for that invoice removes L3 from its active lines. Include every line you want to retain for each invoice you send.
4. Map your columns to Confido fields
A mapping connects a value in your file to a field in Confido. Your column names do not need to match Confido's field names.
For each destination field:
Choose the Confido Field and select + Add Confido Field.
Choose the Type — where the value comes from: a column name, a column number, or a fixed value.
Enter the column or fixed value.
Add transforms if the value needs conversion.
If multiple sources contribute to the same field, choose a combine mode and their order.
Screenshot 4. One completed mapping: the Invoice ID column in the file fills the Invoice ID field in Confido.
Map by column name
Use the exact header from the file, including capitalization and spacing.
Example: map your Invoice ID column to the Invoice ID field. A cell containing INV-1001 becomes that invoice's external ID in Confido.
Note: If a file has duplicate column names, a column-name mapping uses the first occurrence. Use column numbers to distinguish repeated headers.
Map by column number
Use this for files without headers or with duplicate header names. Column numbers start at 1: column 1 is the first column, 2 is the second, and 3 is the third.
For the row INV-1001,CUST-001,1250.00, column 1 contains the invoice ID and column 3 contains the balance.
Use a fixed value
A fixed value supplies the same value for every row, without reading a column.
For example, map the fixed value USD to the Currency iso field if every invoice in this configuration uses US dollars. You can also map true to the Is customer field.
Note: Choose one type per source. Do not use a fixed value for a record's unique ID, because every row would receive the same ID.
Required fields by file type
Every required field needs a mapping and a nonblank value on each row. Use stable IDs from your ERP; changing an ID can create a new record instead of updating the existing one.
1. Open invoices
Required: Invoice ID.
Other supported fields: Number, Customer ID, Open balance, Total amount, Invoice date, Due date, Paid on date, and Currency iso (a code such as USD or CAD).
For a useful open-invoice import, include the customer ID and open balance as well as the invoice ID. A new invoice uses its ID as the invoice number when no number is mapped.
2. Customers
Required: Customer ID.
Other supported fields: Name, Parent ID, Is customer, and Is vendor.
For the customer and vendor flags, use true or false. Values such as Yes, No, 1, and 0 are not accepted by these fields.
3. Items
Required: Account number.
Other supported fields: Remote ID and Name. If a remote ID is not supplied, the account number is used as the ID.
In this accounting import workflow, Items refers to account records, not the product catalog. Check with your Confido team if your ERP uses "items" to mean products or SKUs.
4. Shipments
Required: Invoice ID (the parent invoice) and Line ID.
The parent invoice must exist in the selected subsidiary. Each line needs a stable ID within its invoice.
Other supported fields: Description, Unit price, Quantity, Total amount, Item ID, Account ID, and List price. Shipments also accept Custom shipment field, for values your ERP sends that have no standard Confido field.
5. Transform values when needed
Transforms clean or convert individual values before they are saved. They run in the order you choose, separately for each source, before values are combined.
Screenshot 5. Three transforms on Open Balance, applied in order.
Working with text
Uppercase — converts letters to uppercase. Example: usd becomes USD.
Blank to empty — treats a blank value as empty; a nonblank value is unchanged. Use Trim spaces to remove spaces around a value. Required fields must still contain a value.
Shorten text — cuts a value to the maximum number of characters you set.
Insert separator — inserts a separator after the number of characters you set, but only when that separator is not already present anywhere in the value. Example: after 2 characters, separator -, turns 01ABC into 01-ABC. 01-ABC stays unchanged; the transform does not move an existing separator.
Replace values — swaps specific values for others. Enter one original value and its replacement per row. Values you do not list pass through unchanged.
Working with numbers
Remove thousands separators — removes commas. Example: 1,250.50 becomes 1250.50. This handles comma thousands separators. It does not convert decimal-comma formats such as 1250,50; removing that comma would change the amount.
Parentheses to negative — converts an amount in parentheses to a negative number. Example: (250.00) becomes -250.00.
Convert to number — converts numeric text to a number. Example: 1250.50 becomes the numeric value 1250.50. Remove commas first when needed. Currency symbols such as $ are not removed by this transform; export amounts without them.
Round a number — rounds to the number of decimal places you set.
Make positive — drops a minus sign.
Reverse sign — turns a positive value negative and a negative value positive.
Working with dates
Read a date — converts text to a date using the format you choose: MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD, YYYYMMDD, or a custom format. Choose the format used by your ERP. Confido does not infer whether 03/04/2026 means March 4 or April 3.
Format a date — writes a date back out in the format you choose. This is used on exports.
Example: clean a negative amount
For a quoted CSV value of "(1,250.50)", apply:
Remove thousands separators: (1,250.50) becomes (1250.50).
Parentheses to negative: (1250.50) becomes -1250.50.
Convert to number: save it as a negative numeric amount.
Note: These are the supported transforms. If your file needs a different conversion, reach out to your Confido contact before completing setup.
6. Combine values from multiple columns
Use + Add source to give one Confido field more than one source, then set the combine mode on each.
Join values
Use this when one Confido field is made from several source columns. Set their order and the separator before each subsequent value.
Screenshot 6. Division and Customer Code joined into one Customer ID, with a dash before the second value. A file containing 01 and ABC produces 01-ABC.
Empty parts are skipped, including their separator. If the second part is empty, the result is 01, not 01-.
First non-empty value
Use this when you have a preferred column and a fallback. Put the preferred source first.
Example: use Display Name; if it is blank, use Legal Name. A blank display name and a legal name of Larkspur Foods Ltd produce Larkspur Foods Ltd.
Note: This is a fallback for blank values, not errors. If a transform fails on the first source, the row is rejected rather than falling back to the second source.
7. Work through a simple invoice example
Suppose your ERP exports:
Invoice ID,Customer ID,Invoice Date,Open Balance,Currency
INV-1001,CUST-001,09/10/2026,"1,250.50",USD
INV-1002,CUST-002,09/11/2026,75.00,USD
Configure Invoices_*.csv for Open invoices, with comma delimiter, headers enabled, and UTF-8 encoding. Use Incremental if this file contains only new or changed invoices.
Add these mappings:
Invoice ID → Invoice ID, with no transform.
Customer ID → Customer ID, with no transform.
Invoice Date → Invoice date, using Read a date with MM/DD/YYYY.
Open Balance → Open balance, using Remove thousands separators, then Convert to number.
Currency → Currency iso, with no transform.
The first row identifies invoice INV-1001, sets its customer ID to CUST-001, its invoice date to September 10, 2026, and its open balance to 1250.50.
8. Save and check an import
Click Save configurations. This saves every configuration on the tab at once
Upload a representative file to the folder provided by your Confido team.
Navigate to Integrations → Business Systems → SFTP runs and stay on the Imports tab.
Open the relevant run and review its result, record counts, and any errors.
Once the results are correct, arrange regular uploads from your ERP.
Important: A newly saved configuration is active immediately, but it cannot import successfully without the required mappings.
Screenshot 7. Import history. Each row is the latest attempt for an uploaded file, with the rows imported and rejected. Use the status filters to show only the runs that need attention.
Statuses you will see: Queued and Running while the file is being processed, Successful when every row imported, Partially imported when some rows were rejected, Failed when nothing imported, and Stalled when processing stopped without an outcome.
Click a row to see its attempt history and the reason rows were rejected.
Screenshot 8. The attempt history for a partially imported file, including the error that rejected four rows.
Saving a configuration does not automatically reprocess earlier files. If a run failed because of a configuration issue, correct the settings and use Rerun. A rerun uses the same uploaded file contents with the current configuration, and earlier attempts stay in the history. If the contents themselves need correction, upload a corrected file.
You can also download the original file from the File column to check exactly what was sent.
For shipments, send the parent invoices first. Confido briefly waits for invoice imports that are still processing, but it cannot create shipment lines for an invoice that never arrives.
________________________________________________________
Set up exports
Exports create CSV files from Confido data for your ERP to collect and import. Configure the output using your ERP's file-import requirements.
Open File configurations and switch to the Exports tab. The outbound folder your files are written to is shown above the list.
1. Choose the export data
Choose a file type and click + Add File Type:
Create deposits: Payment and deposit records.
Apply checks: Payment applications, including invoice and credit-note applications.
GL clearing: Journal-entry lines used to clear deductions.
Create separate configurations when your ERP expects separate files or layouts.
2. Define the output file
Screenshot 9. An Apply checks export.
Subsidiary and export mode.
Where the file is written and what it is called.
When it runs.
An optional rule for leaving rows out.
Set the outbound subfolder, filename template, and CSV options to match your ERP's requirements. Confirm whether your ERP expects column headers and which delimiter it accepts.
Import filename patterns select files that already exist. Export filenames name files Confido creates. Do not copy an import wildcard such as Invoices_*.csv into an export filename.
Use {{date}} or {{datetime}} in the filename template if each delivery needs a distinct filename. They are filled in with the scheduled UTC date or time, and Confido shows an example filename below the field.
3. Map Confido fields to your ERP's columns
For imports, the source is your file and the destination is a Confido field. For exports, the source is a Confido field and the destination is a column in the file your ERP receives.
For each output column, click + Add output column, then:
Set the Column number — its position in the file.
Enter the Output header your ERP expects. This is hidden when Has header is set to No.
Choose the Source type: a Confido field, or a fixed value that is the same on every row.
Apply a transform if the value needs formatting.
Screenshot 10. One output column.
Its position in the file and the header your ERP expects.
The Confido field that fills it, rounded to two decimal places.
Drag the handle at the left of a column to reorder columns. Unused column numbers produce empty columns.
For example, if your ERP expects a payment identifier under a header named ReceiptID, map Payment ID to that output column. If the ERP requires the same company code on every row, use a fixed value.
Important: Required export columns are determined by your ERP and the type of file it accepts. Include each required column, in the correct order and format. The required fields listed in the import section are not an export specification.
Only use fields and transforms available for the selected export type. If your ERP needs a value or conversion that is not available, contact your Confido team.
4. Choose the export scope and schedule
Incremental: Export eligible records since this configuration's last successful run. The first run includes all eligible data; a failed run does not advance the starting point for the next run.
Full snapshot: Export all eligible records each time. Your ERP determines how to handle records it has received before.
Exports run once a day, on the hour, at the Daily export time (UTC) you choose. UTC does not shift with daylight saving time, so the local time of the export moves by an hour twice a year. Arrange for your ERP to collect files after they are generated.
Note: Export scope controls what Confido puts in the file. It does not control whether your ERP adds, replaces, or duplicates records when it reads that file.
Use Exclude rows (optional) if your ERP should not receive certain rows — for example, rows whose amount is zero. Exclusions are applied to Confido's values before any transforms run.
5. Check the delivery
Save the configuration. Saving a new export enables its daily schedule.
After the scheduled export, check SFTP runs → Exports, then confirm in the outbound folder that your ERP accepts the file's headers, column order, and values.
Screenshot 11. Export history. Delivered means the file is in the outbound folder; it does not confirm that your ERP accepted it.
A file being delivered successfully does not mean your ERP has imported it successfully. Check the ERP's import result before relying on the scheduled exchange.
Deactivate an import configuration
Open the Imports tab, click Deactivate on the configuration, then confirm the change. Future files will no longer match that configuration. Deactivation preserves the configuration, its mappings, and import history; it does not undo data already imported or cancel an import already in progress.
Screenshot 12. Deactivate the configuration you no longer want files matched to.
Screenshot 13. The confirmation. Existing imports and history are kept.
Deactivated configurations are hidden from your list. Contact your Confido team to reactivate one.
Note: If another active configuration matches the same files, those files can still be imported through that configuration.
Save or discard any unsaved changes before deactivating a configuration.
Pause an export
Exports are paused rather than deactivated. On the Exports tab, click Pause on the configuration and confirm. Scheduled exports stop, and existing files and history are kept. Click Resume to start the schedule again.
Troubleshooting imports
No configuration matches the file
The run shows as Failed with the type Unclassified. Check the filename, capitalization, inbound folder, and whether the configuration is active. Remember that folders match exactly and filenames use wildcards rather than date placeholders.
No mappings or missing required fields
Add mappings for every required field for the selected file type. If the mappings exist, check that the corresponding cells are not blank. Adding a file configuration alone does not create its mappings.
A mapped column cannot be found
Check the header text, delimiter, and Has header setting. For mappings by column number, confirm that the column exists in every row and that the ERP has not changed the column order.
A date or amount cannot be converted
Compare the failing value with the configured transform. Check date order, thousands separators, parentheses, and currency symbols. Correct the file or the transform settings, then try again.
Some rows were rejected
Open the run and read its error details for the affected rows and fields. Typical causes include blank required IDs, invalid values, and inconsistent column counts. Do not assume that every row imported successfully because the run created some records.
A shipment's parent invoice was not found
Check that the parent invoice was imported into the same subsidiary and that the shipment's Invoice ID matches the invoice's Invoice ID exactly.
Multiple records match the same ID
Ask your Confido team to investigate duplicate existing records before rerunning. Changing the mapping to an unrelated ID can create additional duplicates.
Records unexpectedly disappeared or balances became zero
Review the reconciliation mode and whether the file contained a complete snapshot. Contact your Confido team before sending another snapshot if its scope is unclear.
Troubleshooting the connection or exports
Cannot connect: Check the server address, port, username, authentication settings, and access to your assigned folders with your ERP administrator and Confido contact.
An expected export is missing: Check SFTP runs → Exports, the destination folder, the configured export time in UTC, and whether the export is paused. Contact your Confido team if it still does not arrive.
Your ERP rejects an export: Compare the file with your ERP's required headers, column order, formats, and required values. Correct the export mapping where needed.
Your ERP creates duplicate records: Check how your ERP identifies previously imported records and whether the export is incremental or a full snapshot.
Need additional help?
Reach out to your Confido contact. Share the relevant filename, file type, and error message through your usual support channel. For exports, include any error reported by your ERP. Do not include SFTP passwords or private keys.
