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

# S3 Upload Bucket

> Upload files to the Stuut-provided S3 bucket.

Stuut provides a dedicated S3 bucket for file integration customers. While you can upload files manually during onboarding, Stuut recommends an automated upload from your ERP, data warehouse, or ETL workflow so files arrive on a consistent schedule.

Use this page with the [Data Contract](/technical-guides/file-integration-guide/data-contract). The data contract describes which files and fields to provide; this page describes how to deliver those files to Stuut.

## What Stuut provides

During onboarding, Stuut will provide the connection details for your dedicated bucket.

| Detail      | Description                                                                                               |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| Bucket name | Name of your dedicated S3 bucket, such as `stuut-data-{company-name}`.                                    |
| Region      | AWS region provided during setup.                                                                         |
| Credentials | Access key ID and secret access key, shared through a secure channel. Do not send credentials over email. |

## Recommended setup

<Steps>
  <Step title="Confirm your source files">
    Prepare the extracts listed in the [Data Contract](/technical-guides/file-integration-guide/data-contract). Confirm which files are required for your implementation and which optional files your team can provide.
  </Step>

  <Step title="Configure an automated export">
    Schedule your ERP, data warehouse, or ETL tool to generate the files at the same time each day. Files should represent a complete snapshot or agreed lookback window for each data set.
  </Step>

  <Step title="Upload to the Stuut bucket">
    Use the bucket name, region, and credentials provided by Stuut to upload the generated files. Most teams use the [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html), an [AWS SDK](https://aws.amazon.com/developer/tools/), or an existing ETL connector.
  </Step>

  <Step title="Send a first test upload">
    Upload one complete test set so Stuut can confirm connectivity and validate file structure.
  </Step>

  <Step title="Move to a recurring schedule">
    After validation, keep the upload job running on the agreed schedule. Notify Stuut before changing file names, columns, formats, or delivery timing.
  </Step>
</Steps>

## File naming

Name each data file with the file date and entity name:

```text theme={null}
<YYYYMMDD>_<entity>.csv
```

Examples:

```text theme={null}
20260220_customers.csv
20260220_contacts.csv
20260220_invoices.csv
20260220_payments.csv
20260220_payment_allocations.csv
20260220_credit_memos.csv
```

For corrections or multiple uploads on the same day, append a sequence number or timestamp:

```text theme={null}
20260220_invoices_2.csv
20260220_133015_invoices.csv
```

<Note>
  If your source system already produces stable names, Stuut can usually map them during onboarding. Share the naming pattern before your first test upload.
</Note>

## Delivery schedule

Upload files at least daily unless Stuut confirms a different cadence for your implementation.

| File                    | Recommended frequency | Contents                                                                                                                     |
| ----------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Customers               | Daily                 | Customer master list, including all active customers plus any customers deactivated since the last file.                     |
| Contacts                | Daily                 | Contacts associated with customers who Stuut may communicate with about invoices, payments, and disputes.                    |
| Invoices                | Daily                 | All open invoices plus any invoices paid, voided, or otherwise closed in the last 7 days. Each row is one line item.         |
| Invoice PDFs            | Daily                 | PDF copies of all invoices, named using the invoice remote ID and placed in the agreed PDF folder or prefix.                 |
| Payments                | Daily                 | All payments received in the last 30 days. Each row is one payment.                                                          |
| Payment allocations     | Daily                 | How each payment is applied to invoices. Each row links one payment to one invoice.                                          |
| Credit memos            | Daily, if applicable  | All open credit memos plus any applied or voided in the last 30 days.                                                        |
| Credit memo allocations | Daily, if applicable  | How each credit memo has been applied to invoices. Each row links one credit memo to one invoice.                            |
| Credit memo PDFs        | Daily, if applicable  | PDF copies of all credit memos, named using the credit memo remote ID and placed in the agreed PDF folder or prefix.         |
| Disputes                | Daily, if applicable  | Required only if disputes are tracked in the source system. Include all open disputes plus any resolved in the last 30 days. |
| Ledger accounts         | Weekly, if applicable | Full chart of accounts for transaction categorization. Send weekly, typically on Mondays.                                    |

## Changes to coordinate with Stuut

Tell your Stuut contact before you change:

* Upload time or cadence
* File names or folder prefixes
