Account
Choose path
Connect
Configure
Pulling data
Delegate
Orderly

Let's set up your account

This will be the first PO number assigned. Format: PO-XXXXX

How will you use Orderly?

Pick the path that matches your setup. You can always switch later.

Connect your channel

Pick the system you currently use. We'll redirect you for one-time approval, then pull your data.

More providers coming. Need something else? Tell us.

Tell us how you use this channel

We use these to decide what data to pull from your channel.

Pulling your data

This usually takes 30–90 seconds. You can leave the page open or come back later.

Products …
Inventory levels …
Suppliers …
Purchase orders …
Sales history …

Spreadsheet workflow

You'll generate POs by uploading sales + inventory exports each cycle. A few minutes of setup makes this much smoother.

1
Add your suppliers

Tell Orderly which brands each supplier carries so POs route automatically. Takes 2–5 minutes if you have a handful, longer for larger lists.

2
Upload sales + inventory

CSV or Excel exports from your store / inventory system. The Generate POs page walks you through column mapping.

3
Generate, review, export.

Review the suggestions, edit qty, push out PDF / Excel / WhatsApp / Email per supplier.

O
Orderly
Purchase orders
Workspace
Dashboard Generate POs Smart Reorder Purchase Orders
Configure
Suppliers Integrations Manage Users/Team Settings
C
Company
Settings & Profile
☾ Dark mode
➦ Sign out
Powered by Delegate
Orderly / Generate POs

Notifications

UPLOAD YOUR OWN DATA

Generate POs from a
spreadsheet upload.

For one-off runs or merchants without a connected channel β€” drop sales/inventory CSVs in here and Orderly builds the POs. Already connected Shopify or Zoho? Use Smart Reorder instead β€” it pulls live data and runs continuously.

⚠

What are you working with? Step 1

Data Sources Step 2

+
Sales data
Upload spreadsheet
+
Inventory data
Upload spreadsheet

How should we identify your products? Step 3

Choose the field that's consistent across your files β€” this is how we'll match the same product between your data sources

Matches products even if the names aren't exactly the same across your files β€” useful when one file says "NB 574" and the other says "New Balance 574".

Adjust the confidence slider to control how similar product names need to be for a match. Higher = stricter.

85%
85% Shortened brand names, spelling variants
Sales file New Balance 574 Grey Suede
↔
Inventory file NB 574 Gray Suede

Reorder Settings Step 4

Sales Period i
30
days
Restock Target i
2
months of supply
Order in Multiples of i
1
units
Zero Sales Items i
Skip
exclude from PO
Upload sales or inventory data to get started

Inventory

View stock levels from your most recent uploads.

Upload inventory data in Generate POs to see stock levels here.

No suppliers added yet. Add suppliers to auto-assign brands to purchase orders.

Your Profile

Your name and contact number β€” used on generated POs and for account recovery.

Company Profile

Your business details β€” appear on purchase orders sent to suppliers.

Purchase Orders

Numbering and document settings for PDF and Excel exports

Format: PO-XXXXX

Saved Mapping Profiles

No saved mapping profiles. Profiles are created when you map columns in a data source.

Data & Reset

Manage your application data

Add Data Source

Click or drag file here

.xlsx, .xls, .csv, .tsv

Map Columns β€”

Match your file columns to the required fields

Add Supplier

Export Purchase Orders

Queue PO Export

Connect Shopify (different Plus org)

For stores on a Plus org that isn't covered by the default Orderly Shopify app. Create a Custom Distribution app on your Shopify Dev Dashboard (with the redirect URL set to https://zwelqmnwijixhtrqodtn.functions.supabase.co/shopify-oauth-callback), then paste its credentials below.

The .myshopify.com hostname of the store you're connecting.
From your Custom Distribution app's Settings β†’ Credentials β†’ Client ID.
From the same Credentials page. Stored on the connection (encrypted at rest) and used to verify incoming webhooks.

Connect Shopify Store

Create a custom app in your Shopify admin (Apps β†’ Develop apps), grant it read_orders, read_products, read_inventory scopes, then paste the admin API access token below. Step-by-step guide.

Your Shopify admin URL (with or without https://).
From your custom app's "API credentials" tab. Starts with shpat_.
Optional. Defaults to the shop name.
Days. Larger windows take longer to sync but give the engine more history. Range 7–730.

Configure channel

Tell Orderly how this channel is used. You can change these later.

Pull orders and velocity data from this channel.
Use this channel's stock levels for reorder math. Incoming purchase orders from this channel also count toward "on the way" stock.
Bring this system's suppliers into your Orderly Suppliers tab. Updates on every sync. Requires Inventory source.

Connect Zoho Inventory

Pick your Zoho data-centre β€” this is the region where your Zoho account is hosted. Tokens issued by one region don't work against another, so this has to match. Setup guide.

Not sure? Check the URL you use to log in to Zoho Inventory β€” it'll say zoho.com, zoho.eu, etc.

On the next screen, Zoho will ask you to approve Orderly's read access to your inventory, purchase orders, and organization settings. You can revoke access anytime from your Zoho account.

Smart Reorder Settings

Tune how the engine decides when and how much to reorder. Changes apply after you Recompute.

How far back the engine looks when computing velocity. Shorter = reacts faster to recent shifts. Longer = more stable. Typical: 30–90.
How many days of stock each reorder should cover after it arrives. Typical: 45–90.
Extra days beyond lead time before we trigger a reorder β€” so a delivery delay doesn't run you dry. Typical: 7–14.
For Shopify SKUs marked "continue selling when out of stock," skip reorder suggestions when units sold in the window are below this number. The SKU still appears in your data β€” it just doesn't get suggested. Set to 0 to turn off.
Which channel's selling price drives the "revenue at risk" math. Pick Sales channel price if you sell direct to consumers (most stores). Pick Inventory channel price if you're a wholesale distributor β€” your "revenue" is what you charge your customer, not what they charge end consumers.
Processing...
Preparing data...
You can close this page and come back β€” your progress will be saved.