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

# Reading Data from NetSuite

> How Owlery automatically pulls orders, items, and facilities from NetSuite — hands-free after credentials are connected.

Once your NetSuite credentials are connected, Owlery begins pulling data automatically. There is no manual mapping, no CSV uploads, and no recurring work from your team. Owlery discovers your account configuration, converts NetSuite records into Owlery shipments and items, and keeps everything in sync on an ongoing basis.

<Info>
  Reading data from NetSuite is the simplest part of the integration. Owlery handles it almost entirely hands-free — your team just provides credentials and confirms the initial setup.
</Info>

## How it works

<Steps>
  <Step title="Owlery authenticates securely">
    Owlery uses token-based OAuth 1.0 with HMAC-SHA256 signed requests. Your credentials are never stored in plain text.
  </Step>

  <Step title="Owlery discovers your account">
    We read your classifications, departments, locations, cost categories, units of measure, and item records to understand how your NetSuite is configured.
  </Step>

  <Step title="Records sync automatically">
    Owlery retrieves new and changed records through paginated, incremental syncs. Only what's changed since the last sync is pulled — we don't repeatedly import your full account.
  </Step>

  <Step title="Data is converted and validated">
    Each NetSuite record is transformed into the facilities, stops, dates, items, references, and statuses your Owlery workflows need. Invalid data is flagged for review, not silently accepted.
  </Step>
</Steps>

## Orders

Owlery supports three NetSuite transaction types:

| NetSuite record | How Owlery uses it                                                                      |
| --------------- | --------------------------------------------------------------------------------------- |
| Sales Order     | Creates a customer shipment with origin, destination, dates, references, and line items |
| Purchase Order  | Creates a supplier shipment; can identify outsourced purchase-order lines               |
| Transfer Order  | Creates an internal inventory movement between facilities                               |

Each order type can be enabled or disabled independently. Owlery recommends which ones to turn on based on the transactions it finds in your account.

From each order, Owlery can synchronize:

* Internal ID, transaction number, external ID, and reference numbers
* Statuses (mapped to Owlery equivalents based on your workflows)
* Created and last-modified timestamps
* Creator, employee, or sales representative email
* Customer, vendor, subsidiary, classification, department, and sales channel
* Pickup and delivery facilities, addresses, and dates
* Header notes and line-level handling notes
* Line items with SKU, quantity, fulfilled/received quantity, unit, rate, and amount
* Lot or inventory assignments and expiration dates
* Ship method and other configured custom fields

## Item master

Owlery synchronizes your item catalog alongside orders. The default configuration recognizes more than 15 item types — inventory, assembly, kit, non-inventory, service, shipping, and other charge items — and the included types can be customized for your account.

Item data can include:

* SKU, name, description, and NetSuite record type
* Base and transaction units of measure
* Weight and weight unit
* Case, carton, each, and pallet packaging relationships
* Cases per pallet (including TI × HI calculations)
* Temperature ranges for refrigerated products
* Lot numbers and expiration dates

## Addresses and facilities

Addresses are often the most account-specific part of a NetSuite setup. Owlery resolves facilities from whichever source your account uses:

* The shipping address on the order itself
* A NetSuite Location record
* A vendor or customer address-book entry
* A custom body field
* A `<br>`-delimited address in a custom field
* A linked custom location record

Different sources can apply to sales, purchase, and transfer orders. If the preferred source is missing, Owlery falls back through configured alternatives while preserving facility identity. Invalid addresses are flagged for review.

## Selection and filtering

Not every NetSuite record needs to come into Owlery. The integration can filter using:

* An optional NetSuite sync flag on the transaction
* Ship method include/exclude lists
* Transaction-number pattern matching (starts-with, ends-with, contains, or excludes)
* Status mapping rules
* Subsidiary routing rules
* Classification and department hierarchy matching

Owlery recommends the smallest set of filters that captures your intended workflow.

## Reliability and governance

Owlery is designed around NetSuite's API behavior:

* **Incremental syncs** only pull new and modified records
* **Request pacing** respects governance limits and spaces concurrent calls
* **Smart retries** back off on concurrency rejections with exponential delay and jitter
* **Stable identities** preserve child-order relationships across re-syncs
* **Structured errors** surface actionable NetSuite details for troubleshooting
* **Reference lookup** lets an authorized user manually import a specific transaction outside the normal filter

<Tip>
  Owlery monitors sync health continuously. If something breaks — a permission change, a NetSuite update, an API hiccup — we catch it and resolve it before your team needs to get involved.
</Tip>
