Everything in the base plan

Features built for B2B distribution

Customer portal, order pipeline, inventory ledger, returns, reports, and a REST API — all shipped together, all on every tier.

Customer portal

A branded storefront your buyers log into

Your customers sign in at distribu.app/store/{your-slug} and see a catalog priced for them, with their credit limit and address book already wired up. Multi-user accounts support ADMIN / BUYER / VIEWER roles — a controller approves what a buyer drafts, without sharing a password.

  • Per-buyer price lists + product-level overrides
  • Credit limits enforced server-side at checkout
  • Multi-user accounts with ADMIN / BUYER / VIEWER roles
  • One-click reorder and saved shopping lists
  • Customer self-registration or staff-invited onboarding
  • Transactional emails branded to your company
Storefront docs
Distribu customer storefront catalog showing product cards with per-buyer prices and live stock availability

Order pipeline

One order queue across every channel

Orders from the storefront, the staff dashboard, and the REST API all land in the same queue with the same server-side semantics — stock decrements, tax applies, webhooks fire. Move them through submitted → confirmed → shipped → delivered from whichever surface you're in.

  • Same state machine for portal, rep, and API orders
  • Atomic stock decrement in the order transaction
  • Partial shipments, partial returns, partial refunds
  • Rep-assisted order entry from the staff dashboard
  • Webhook on every meaningful state change
  • Per-order audit trail with actor + timestamp
Order lifecycle docs
Distribu orders dashboard listing orders with status badges, filters, and bulk actions

Inventory ledger

Stock you can trust at the close of the month

Every change to a SKU — orders, returns, manual adjustments, CSV imports — writes an attributed, timestamped row in the stock-movement ledger. When finance asks why a count moved, you have a row, not a guess.

  • Per-SKU stock-movement ledger with actor + reason
  • Low-stock thresholds fan out in-app and email alerts
  • CSV import with row-level validation errors
  • Weighted-average cost + inventory valuation reports
  • Stock decrement is atomic with the order it served
  • Full history queryable from the dashboard or API
Inventory docs

Returns & refunds

Returns as a first-class flow, not a support ticket

Customers request returns right from the storefront. Staff approve, receive, and refund — to the original payment method or as store credit that auto-applies on the next order. The stock ledger updates in the same transaction, so returned units don't ghost your counts.

  • Customer-initiated returns from the storefront
  • Configurable return window (default 30 days)
  • Approve → receive → refund state machine
  • Refund to original method or issue store credit
  • Store credit auto-applies on the next order
  • Stock ledger updates atomically on receipt
Returns docs
Return detail page showing the approve-receive-refund state machine with line items

Reports & notifications

The numbers your team reads on Monday

Sales, customer-spend, and inventory-valuation reports as structured JSON or scheduled emails on a daily, weekly, or monthly cadence. Plus a bell in the dashboard header for orders, stock, returns, and team events — no one has to open the reports page to catch the important things.

  • Scheduled reports (DAILY / WEEKLY / MONTHLY) by email
  • Sales, customer-spend, inventory valuation, orders-export
  • In-app notifications for orders, stock, returns, team
  • Opt-in daily/weekly digest per workspace member
  • Pull the same data via the REST API
  • CSV export on every report
Reports docs
Scheduled reports page showing cadence, recipients, and report types

Developer platform

A REST API and signed webhooks in the base plan

Nine permission scopes per API key, per-key rate limits, and twelve webhook events with HMAC-SHA256 signatures and zero-downtime secret rotation. Everything the dashboard does, your code can do — no upsell, no enterprise tier.

  • Versioned REST API under /api/v1/
  • 9 scoped permissions (products, orders, customers, reports, webhooks)
  • Per-key rate limits (60 req/min default)
  • 12 webhook events with HMAC-SHA256 signatures
  • Zero-downtime webhook secret rotation
  • Native QuickBooks, Xero, Slack, HubSpot integrations
API reference
API keys settings showing scoped keys with rate limits and last-used timestamps

Everything else on the dashboard

The unglamorous pieces — roles, audit logs, quotes, matrix products, hierarchies, approval workflows — that separate software you evaluate from software you rely on.

Role-based staff access

Nine scoped permissions let you give reps order access, finance read-only everything, and warehouse just fulfillment — without handing out the keys.

Audit log across the platform

Every significant action — product edits, order changes, API-key creation, webhook rotation, role changes — lands in a tamper-resistant audit log with actor, timestamp, and diff.

Quotes that convert to orders

Buyers request a quote; sales responds with a priced draft; the buyer converts it to an order with the same pricing and credit check applied. No re-keying between systems.

CSV import + export on every surface

Bulk-upload products, customers, prices, or stock adjustments with row-level validation errors. Exports round-trip cleanly — you can always get your data back out.

Matrix products (size + colour variants)

Define variant axes once; each combination gets its own SKU, stock, and price. Render as one row per variant on the storefront or a size-picker on the product page.

Tax, shipping, and addresses per customer

Per-customer tax profiles, shipping defaults, and an address book. Orders inherit the defaults and let the buyer override ship-to per order — no duplicate customer records.

Account hierarchies (parent / child)

Link customer accounts into a single-level hierarchy so HQ can view and approve orders placed by any of their locations. Parent-side admins fan out as approvers automatically.

Order approval workflows

For customers with ADMIN approvers, new orders can require sign-off before they land in your queue. Emails fan out to every admin in the account hierarchy on submission.

14 pre-built integrations

QuickBooks Online, Xero, Stripe, Shopify, ShipStation, Shippo, Slack, HubSpot, Zapier, and more — all with OAuth, scoped access, and observable in the integrations tab.

Frequently asked

The feature questions that come up on evaluation calls.

Are all features available on every plan?

Yes. Storefront, per-buyer pricing, credit limits, REST API, webhooks, reports, returns, and notifications are available on every tier. Plans differ only on capacity (products, customers, team seats, orders per month) and support tier. See /pricing for the comparison matrix.

Does Distribu support multi-warehouse inventory?

Today Distribu supports one location per tenant. Multi-warehouse is on the near-term roadmap. If you need it today, we integrate with Cin7 Core so you can run Cin7 as the stock source-of-truth and Distribu as the orders + customer portal layer on top.

Can customers log in with SSO?

Staff SSO (SAML/OIDC) is available on the Enterprise tier. Customer-side SSO is not offered today — buyer accounts use email/password with optional magic-link sign-in. Let us know if SSO is a hard requirement on your side and we'll weigh it on the roadmap.

How does the REST API work?

The API is versioned under /api/v1/ and covers products, orders, customers, returns, reports, and webhook management. Authenticate with scoped API keys (nine scopes, e.g. products:read, orders:write). Every endpoint is documented at /docs/api with request/response examples.

What webhook events are fired?

Twelve events covering the order and return lifecycle, product changes, low-stock thresholds, and customer events. Each payload is signed with HMAC-SHA256 and supports zero-downtime secret rotation via a dual-header grace window. Full list at /docs/webhooks.

Can I export my data?

Yes. CSV export is available on every major surface (products, customers, orders, stock-movement history, reports). The REST API exposes the same data as read endpoints. No export gates, no lock-in — your data is yours.

Try the whole feature set for 14 days

Every tier gets the full product during the trial. Import your catalog, take a real order, fire a real webhook — before committing.

No credit card required · cancel any time