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

# Sage 300

> Export billing and settlements to Sage 300.

Move approved billing into Sage 300 without re-keying it. Tread exports approved invoices and [Vendor](/concepts/dispatching-drivers-vendors) settlements to Sage 300 Construction and Real Estate. The export is file-based — Tread generates a CSV in the format Sage 300 expects, and your accounting team imports it.

## Prerequisites

* A Sage 300 instance with import access.
* A Tread admin user with the **Settlements** and **Exports** [permissions](/concepts/roles-permissions).
* Customer and vendor records already in Sage 300. Tread maps by external ID.
* An agreed export cadence with your accounting team.

## How it works

1. **Approve in Tread** — Settlements close once both sides sign off. See [Settlements & Driver Pay](/concepts/settlements-driver-pay).
2. **Generate export** — From the Settlements page, pick a date range and export to Sage 300 format.
3. **Map external IDs** — Customer and vendor records carry a Sage 300 external ID set during onboarding.
4. **Import to Sage** — Your accounting team imports the CSV into Sage 300.
5. **Track exported settlements** — Tread marks each exported settlement so the same settlement is not exported twice.

## What flows where

| Data              | Direction        | Frequency |
| ----------------- | ---------------- | --------- |
| Customer invoices | Tread → Sage 300 | On export |
| Vendor bills      | Tread → Sage 300 | On export |
| Driver pay        | Tread → Sage 300 | On export |

## Setup

<Steps>
  <Step title="Open Integrations settings">
    Go to **Settings → Integrations → Sage 300**.
  </Step>

  <Step title="Confirm the Sage external ID format">
    Match the external ID format used in your Sage instance — usually a customer or vendor code.
  </Step>

  <Step title="Tag customers and vendors">
    Open each Customer and Vendor in Tread and enter the matching Sage 300 ID in the **External ID** field.
  </Step>

  <Step title="Run a test export">
    Export one approved settlement and confirm it imports cleanly into Sage.
  </Step>

  <Step title="Set the cadence">
    Pick a recurring cadence with your accounting team. Tread does not auto-push.
  </Step>
</Steps>

## Limitations

* Export only. Tread does not pull data back from Sage 300.
* CSV-based, not API-based. No live two-way sync.
* Customer and vendor records must exist in Sage before import. Tread does not create them.
* Sage import errors surface in Sage, not Tread. Re-export after fixing source records.
* Custom Sage configurations may need a one-time mapping review.

## Troubleshooting

**Customer not found on Sage import**

1. Confirm the Sage external ID on the Tread Customer record matches the Sage customer code.
2. Fix the ID in Tread and re-export the settlement.

**Duplicate invoice on import**

1. Check whether the same date range was exported twice — Tread's export log shows what was included.
2. Skip duplicates in Sage or re-export with a tighter date range.

**Missing GL accounts**

1. Confirm Sage's chart of accounts has the income and cost-of-goods accounts the import expects.
2. Add the missing accounts and re-import.
