Changelog

Everything we've shipped, newest first. We write down the things we change to the product so you can trust we're working on it.

  • Shipped

    Product variants (matrix ordering)

    Declare up to three option axes on any product — Size, Color, Material — and add one variant per combination. Each variant gets its own SKU, optional price override, and independent stock pool, all tied back to the parent product. Orders and quotes now persist the selected variant so history reads correctly forever. The storefront picker lands next; admin + API support is live today.

  • Shipped

    Request for quote (RFQ) and quote-to-order

    Buyers can request a formal quote from the storefront, staff price it and send with an expiry date, and a single click on the buyer side accepts the quote and spawns the order — stock decremented, PO captured, shipping address frozen in the same transaction. Unanswered quotes auto-expire on an hourly sweep.

  • Shipped

    Multi-warehouse stock

    Distributors can now run multiple fulfillment locations. Manage them under Settings → Warehouses, pick a default, and every order is stamped with the warehouse it shipped from. Per-location stock, the denormalized total, and the stock-movement ledger stay in lockstep automatically.

  • Shipped

    Net terms and purchase-order workflow

    Assign payment terms per customer (Net 15, Net 30, etc.), let buyers place orders against a PO, and track open balances straight from the dashboard.

  • Shipped

    Tiered pricing, MOQ, and case packs

    Product pricing can now step down at higher quantities, enforce minimum order quantities, and round up to case-pack increments. Tiers are surfaced on the storefront so buyers see the volume price before they check out.

  • Shipped

    Custom domain storefronts

    Point your own domain at Distribu, verify with a CNAME, and your buyer portal now lives on your brand.

  • Shipped

    QuickBooks Online integration is live

    Two-way sync between Distribu and QuickBooks Online for customers, invoices, and payments.

  • Shipped

    Cin7 Core inventory integration

    Sync stock levels with Cin7 Core so warehouse adjustments propagate into Distribu without a spreadsheet round-trip.

  • Shipped

    Blog and resources library

    A new /blog and /resources section with long-form guides for distributors moving off email + spreadsheets.

  • Improved

    Cleaner integrations install flow

    Planned integrations no longer clutter the catalog, and you can cancel an in-progress install with one click.

  • Fixed

    OAuth redirect mismatch during integration install

    A handful of integrations failed the final token exchange on production deployments — resolved.

  • Shipped

    Integrations catalog and install flow

    A browsable catalog under Settings → Integrations, with one-click OAuth installs, per-integration pause/resume, and a unified sync log.

  • Shipped

    Xero accounting integration

    Push invoices and payments straight from Distribu into Xero.

  • Shipped

    Shippo tracking sync

    Install Shippo once and every outbound shipment's tracking number flows back into the order automatically.

  • Shipped

    ShipStation integration

    Two-way sync for orders and shipments, including an inbound webhook that closes the shipping loop the moment a label is printed.

  • Shipped

    HubSpot CRM integration

    Customers created in Distribu can mirror into HubSpot as contacts, keeping sales and operations on the same record.

  • Shipped

    Slack notifications

    Route new-order, low-stock, and fulfillment alerts into a Slack channel so the team doesn't live in their inbox.

  • Shipped

    Comp admin: grant free access without Stripe

    Distribu staff can now comp a company on any plan for life or until a date, with or without an existing Stripe subscription. Expiring comps re-block automatically — no cron needed.

  • Shipped

    Platform audit log viewer with filters and CSV export

    Workspace admins get the full per-company audit stream at /dashboard/settings/audit, filterable by action and actor, exportable as CSV up to 10,000 rows.

  • Shipped

    Plan CRUD for platform staff

    Super-admins can create, edit, and deactivate plans from the dashboard without a migration.

  • Improved

    Webhook deliveries now retry with exponential backoff

    Failed webhooks retry automatically over multiple attempts with widening gaps, then give up cleanly. Every attempt is visible on the delivery record.

  • Security

    Idempotency-Key and per-IP limits on the v1 API

    POST endpoints on the public API accept an Idempotency-Key header to make retries safe. Every request is now rate-limited per key and per IP independently.

  • Security

    Closed a CSV-import row-cap bypass

    Hardened the CSV importer so the row limit is enforced server-side regardless of how many chunks a client sends.

  • Improved

    Plan and Product deletes no longer break under FK load

    Tightened foreign-key handling so companies and products can be deleted cleanly even when they carry historical orders.

  • Shipped

    Returns, refunds, and store-credit ledger

    Customers can request returns from the storefront, staff can approve and issue refunds or store credit, and every movement is audited.

  • Shipped

    Public /requests page for feature and integration requests

    A public form that writes straight into our roadmap triage — no account needed.

  • Shipped

    Expanded v1 API with webhook secret rotation and replay

    More endpoints, more webhook events, manual replay from the dashboard, and a 7-day dual-signature grace period on secret rotation.

  • Improved

    Expired trials now redirect to a dedicated plans page

    Blocked workspaces see a clear locked-access overlay pointing at a checkout instead of a silent 403.

  • Improved

    Privacy policy and terms of service

    Published full privacy and terms pages naming every subprocessor we actually use.

  • Shipped

    In-app notifications, activity feed, and opt-in email digest

    A per-user notification stream for every material event, a dashboard activity feed, and a daily or weekly email digest you can opt into per workspace.

  • Shipped

    Tax, shipping, discounts, and a stock-movement ledger

    Orders now carry proper line-level tax and shipping, configurable discounts, and every stock change is recorded in an append-only ledger.

  • Shipped

    Scheduled report delivery by email

    Any saved report can be scheduled daily or weekly; the cron delivers CSV or JSON to the addresses you pick.

  • Shipped

    Ad-hoc reports and data export

    Sales, customer spend, and inventory valuation reports, exportable as CSV or JSON.

  • Shipped

    Edit-order flow for SUBMITTED and CONFIRMED orders

    Staff can edit line items, quantities, and customer details until an order moves to processing.

  • Shipped

    Shipment tracking surfaced to customers

    Drop a tracking number when you mark an order SHIPPED and the customer sees it on their order page.

  • Security

    Password reset and email verification for staff and customers

    Hashed single-use tokens, enumeration-safe responses, separate flows for staff and storefront customers.

  • Improved

    Mobile-friendly app shell

    Dashboard and storefront now work properly on phones.

  • Improved

    Upstash Redis rate limiting across public surfaces

    Swapped in-memory buckets for Upstash so limits hold across serverless instances.

  • Shipped

    Unified search and command palette

    ⌘K from anywhere — jump to any product, order, customer, or page.

  • Shipped

    Advanced order filters

    Filter the order list by status, date range, customer, channel, and total.

  • Shipped

    Invoice PDFs and customer price lists

    Generate a branded invoice for any order and assign per-customer price overrides from the dashboard.

  • Shipped

    Multi-user customer accounts

    A single customer company can invite multiple buyers, each with their own login.

  • Shipped

    Storefront pagination and order status tracking

    Customers can page through long catalogs and track the live status of every order they've placed.

  • Shipped

    Orders API and webhook system

    v1 of the public REST API, plus HMAC-SHA256-signed outbound webhooks for order and customer events.

  • Shipped

    Initial release

    Catalog, branded storefronts, order pipeline, staff dashboard, Stripe-backed billing. Distribu opens to early customers.

Want something that's not here?

We triage feature requests weekly and post them back into this log when they ship.