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

# Pull from Brightpearl

## What is Brightpearl?

Brightpearl is a retail operations platform built for multichannel merchants, combining inventory management, order management, warehouse operations, and purchasing into a single system. Used by high-growth retailers and ecommerce brands, Brightpearl gives operations teams real-time visibility into stock levels, goods movements, and order history across all sales channels and warehouses.

Connecting Brightpearl to Parabola lets your team automate inventory reporting, reconcile purchase orders against received goods, build audit trails, and monitor stock availability—all without manual exports or spreadsheet work.

## How to use Parabola's Brightpearl integration

Parabola's Brightpearl integration allows teams to pull product data, stock levels, goods movements, and order history directly into automated workflows.

* Automatically retrieve product catalogs and availability data for inventory reporting
* Track goods movements and build audit trails across warehouses
* Monitor purchase orders and goods-in notes for receiving reconciliation
* Combine Brightpearl data with sales channel, shipping, and finance systems for end-to-end visibility

Learn more about Parabola's Brightpearl integration below.

## Pull from Brightpearl

## How to authenticate

Brightpearl uses two credentials to authenticate: an **App Reference** and an **Account Token**.

**Finding your credentials in Brightpearl:**

<Steps>
  <Step>
    Navigate to **App Store → Private Apps** in Brightpearl. Create or locate your private app and copy the **App Reference** — this identifies Parabola as the connecting application.
  </Step>

  <Step>
    Navigate to **Settings → Integration → Staff Tokens** and generate a new staff token or copy an existing one. This is your **Account Token**.
  </Step>
</Steps>

**Connecting in Parabola:**

<Steps>
  <Step>
    In your Parabola flow, add a **Pull from Brightpearl** step.
  </Step>

  <Step>
    Click **Authorize**. To add additional connections, click **Edit Accounts → Add a New Account**.
  </Step>

  <Step>
    Fill in the three fields:

    * **Auth Name** — give this connection a descriptive name (e.g., "Brightpearl Production")
    * **brightpearl-account-token** — paste your staff token here
    * **brightpearl-app-ref** — paste your app reference here
  </Step>

  <Step>
    Configure the two server variables when setting up the step:

    * **datacenter** — your Brightpearl data center (e.g., `use1` for US East, `ws-usw` for US West, `ws-eu` for Europe)
    * **account** — your Brightpearl account code (e.g., `mycompany`)

    Both values appear in your Brightpearl URL when logged in. For example, if your URL is `https://use1.brightpearlconnect.com/public-api/mycompany`, your data center is `use1` and your account code is `mycompany`.
  </Step>
</Steps>

<Note>
  **Note:**

  Both the account token and app reference are required. The connection will fail if either is missing.
</Note>

## Available data

Using the Brightpearl integration in Parabola, you can pull in a wide range of inventory, order, and warehouse data:

* **Products (Search)**: A paginated list of your product catalog including Product ID, name, SKU, barcode, product status (live, archived, discontinued), brand, category, and timestamps. Filter by SKU, product name, status, brand, or date updated.
* **Products (by ID)**: Full product detail for one or more specific products, including tax settings, bundle status, and brand details. Richer than the search endpoint and useful for enriching catalog data.
* **Warehouses**: All warehouses on your account with their IDs and names. Useful as a reference table to decode warehouse IDs returned by other endpoints.
* **Product Availability**: Current stock levels per product across all warehouses, including on-hand, allocated, in-transit, and available quantities. Optionally include bin-location breakdowns, allocated orders, or quantities on open purchase orders.
* **Goods Movements**: Individual stock movement records showing when and how inventory moved — in, out, transferred, or adjusted — with warehouse, product, quantity, and timestamp details.
* **Goods-In Notes**: Stock received records linked to purchase orders, showing what inventory has been received and when.
* **Goods-Out Notes (Search)**: Dispatch records including shipment status, shipping method, warehouse, and order linkage. Filter by date shipped, warehouse, or order.
* **Goods-Out Notes (by Order)**: Full dispatch detail for specific sales orders, including line items, shipping information, and lifecycle events.
* **Orders (Search)**: Sales and purchase order records including order ID, type, status, contact, channel, placed date, and currency. Filter by order type (sales or purchase), status, date range, or channel.

## Common use cases

* Reconcile stock levels in Brightpearl against your sales channels (Shopify, Amazon, etc.) to catch discrepancies and prevent overselling across locations.
* Audit goods-in records against purchase orders to confirm received quantities match what was ordered — and flag shortages or overages before they affect inventory accuracy.
* Track inventory movements over time by pulling goods movement data, then combine it with order and product data to build a complete audit trail for any SKU.
* Monitor open purchase orders and receiving status to identify delayed shipments and trigger automated follow-ups with suppliers.
* Generate daily or weekly inventory availability reports showing on-hand, allocated, and available-to-sell quantities by product and warehouse.
* Combine Brightpearl order data with carrier tracking or 3PL shipment data to reconcile dispatches against delivery confirmations.

## Key concepts

### Pagination

Search endpoints return up to 500 records per page. Set **Results per page** to `500` and **Pages** to **All possible pages** — Parabola will automatically fetch every page and stop when Brightpearl signals no more results are available.

Use **Limit total pages** if you only need a recent subset of records (e.g. set to `2` to fetch the 1,000 most recent).

### Date ranges

Date range filters use ISO 8601 interval format:

```
2026-03-01T00:00:00Z/2026-03-31T23:59:59Z
```

Both a start and end date are required. All times are in UTC.

### ID sets

Several endpoints accept an ID set — a compact way to pass multiple IDs in a single request:

| Format   | Example               |
| -------- | --------------------- |
| Single   | `1001`                |
| List     | `1001,1002,1003`      |
| Range    | `1001-1050`           |
| Mixed    | `1001-1010,1020,1030` |
| Wildcard | `*` (goods note only) |

***

## Troubleshooting

**503 Service Unavailable**
Brightpearl rate-limits API requests. Try reducing **Results per page** or adding a delay between steps.

**Empty results**
Remove filters one at a time to identify which is excluding your data. Confirm date ranges use the correct format (`startDate/endDate`).

**Results stop early**
Make sure **Pages** is set to **All possible pages** and **Results per page** is `500`.

**Results come back as numbers and `true`/`false` values with no column names**
This is expected for search endpoints — see **Understanding the results** above for how to flatten the data using Prowork.
