> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rwsintegration.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Files

> Extract data from positional text files, CSVs, delimited files, Excel spreadsheets, JSON and XML through RWS Connect

Many systems still deliver data as files: fixed-width text exports from legacy ERPs, CSV drops on an SFTP server, Excel spreadsheets maintained by a back-office team, JSON or XML exports. File sources are served by **RWS Connect**: we build a managed pipeline that extracts from your files and exposes them through the **RWS Connect API**, a simple REST API that your integrations extract from like any other modern API.

## Supported formats

| Format                            | Description                                                | Layout information we need                                                        |
| --------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------- |
| **Positional (fixed-width) text** | Each field occupies fixed column positions in every line   | Field names, start positions and widths                                           |
| **CSV**                           | Comma-separated values files                               | Separator variant (comma or semicolon), encoding, whether a header row is present |
| **Delimited text**                | Fields separated by any other delimiter: pipe, tab, custom | Delimiter, encoding, whether a header row is present                              |
| **Excel**                         | `.xls` / `.xlsx` spreadsheets                              | Sheet name(s) and header row position                                             |
| **JSON**                          | JSON documents or JSON Lines files                         | The path to the records inside the document                                       |
| **XML**                           | XML documents                                              | The element that represents one record                                            |

## When to use

* A legacy ERP or payroll system only produces file exports, often in fixed-width layouts
* A partner delivers CSV or other delimited files to an SFTP or FTP server on a schedule
* A team maintains data in Excel spreadsheets that must feed an integration
* A system exports JSON or XML documents instead of exposing an API
* Bank, fiscal or government files with positional layouts

## How it works

1. **Your files stay where they are**: SFTP, FTP, Amazon S3, Google Drive, or wherever they live today
2. **RWS Connect picks them up** on the agreed schedule, parses the layout and writes the records to a structured table
3. **Your integration extracts the table** through the RWS Connect API, like any other REST source

Everything the platform offers for API extractions works unchanged: [pagination](/en/features/extract/pagination), [dynamic parameters](/en/features/extract/dynamic-parameters), [business rules](/en/features/business-rules/overview) and [scheduling](/en/features/extract/scheduling).

## What you provide

| Item                     | Details                                                                                                                                                                          |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| File location and access | Where the files live (SFTP, FTP, S3, Google Drive, and so on) and credentials to read them                                                                                       |
| Layout specification     | Field names plus, per format: positions and widths (positional), separator and encoding (CSV and delimited), sheet and header row (Excel), record path or element (JSON and XML) |
| Sample file              | A real, recent file so we can validate the layout                                                                                                                                |
| Update cadence           | How often new files arrive and how they are named                                                                                                                                |
| Table name               | The name you want for the resulting table                                                                                                                                        |

## Requesting the connector

Email [connect@rwsintegration.com](mailto:connect@rwsintegration.com) with the items above to open a ticket.

<Info>
  Your table is ready within **two business days** (SLA) after access and the information above are provided. If access requires a VPN, [VPN setup](/en/features/connections/vpn) takes an additional two business days before the pipeline is built.
</Info>

## How your data appears

* One table per file layout, named as agreed in the ticket
* Columns in `snake_case`
* When a pipeline combines more than one file or layout into a single dataset, each column is prefixed with the source it came from, and every record is delivered as a single flat JSON object (see [Column prefixes](/en/features/extract/connect-api#column-prefixes))
* Every run adds a snapshot stamped with the extraction date, so history is preserved
* Standard columns on every table: `extracted_at`, `extraction_date`, `extract_start_date_parameter`, `extract_end_date_parameter`

## Next steps

<CardGroup cols={2}>
  <Card title="RWS Connect" icon="plug-circle-bolt" href="/en/core-concepts/rws-connect">
    Understand how RWS Connect works
  </Card>

  <Card title="Querying the RWS Connect API" icon="magnifying-glass" href="/en/features/extract/connect-api">
    Filters, aggregations, pagination and more
  </Card>
</CardGroup>
