Operations, supply chain and back-office teams

Orders, stock and suppliers, modelled the way you operate.

Orders, products, stock, suppliers and purchase orders become entities with your rules inside actions. A purchase order over a threshold needs a second approver, and a stock adjustment needs a reason. Finance and sales see the same customers.

Open orders on the same customers as sales and finance, purchase orders waiting for the right approver, and stock below its reorder point.

northwind.segmentstream.app
Built for

Operations, supply chain and back-office teams

Tell your agent how an order moves through your business. It writes the entities, the approval and adjustment actions, and the roles that may run them.

What it does
  • Orders, products, stock, suppliers and purchase orders become entities with your rules inside actions.
  • A purchase order over your threshold needs a second approver, and a stock adjustment needs a reason.
  • Finance and sales see the same customers as operations, not a copy in another tool.
  • Agents ask "what's late this week?" with the operator's own permissions.

What it covers

  • Orders

    Orders and their lines with statuses that change only through your actions, linked to the same clients as sales and finance.

  • Stock

    Stock per product and location. Every adjustment needs a reason and is kept with who made it.

  • Suppliers and purchase orders

    Suppliers and purchase orders. Over your threshold, a second approver; nobody approves their own.

  • Margin and stock reports

    Margin and stock models in the warehouse from your orders, costs and store data.

  • The company agent →

    Ask what is late this week in Telegram. The company agent answers with the operator's own permissions.

  • Your store and carriers →

    Store, marketplace and carrier APIs connect through API-key or OAuth 2.0 connections, with the credentials held by the platform.

Built from typed blocks

No new product to buy: the blocks below, written by an agent into your workspace's repository and deployed with one command.

Entitiesontology/
  • order
  • order_line
  • product
  • stock_item
  • supplier
  • purchase_order
  • shipment
Actionsontology/
  • order.confirm
  • purchase_order.approve
  • stock_item.adjust
  • shipment.dispatch
Rolesontology/roles.ts
  • ops
  • warehouse
  • finance
Connectionsconnections/
  • stripe
  • your store and carrier APIsAPI key or OAuth 2.0
Pipelinespipeline/
  • margin by order
  • stock levels and reorder points
Appapp/
  • Orders
  • Stock
  • Purchase orders
Agentagent/
  • Company agent in Telegram
One deploy

$ segmentstream deploy

Every block ships together from one git repository your company owns. SegmentStream runs it.

The entities, how they link, and which role may run each action. Your agent writes your own names and rules.
Rules live in actions

The rule is code, not a setting someone can skip.

Every change goes through an action. The role that may run it is checked first, then the rule inside it. The same check applies to people in the app, to API keys and to agents over MCP.

ontology/purchase-order.ts
export const PurchaseOrder = entity("purchase_order", {
  description: "An order to a supplier. Over £5,000 it needs a finance approver.",
  properties: {
    status: p.select(PO_STATUS, { default: "draft", managed: true }),
    totalMinor: p.integer({ min: 0 }),
  },
  relationships: {
    supplier: rel.one("supplier", { inverse: "purchaseOrders" }),
    raisedBy: rel.one(User, { inverse: "raisedPurchaseOrders" }),
  },
}).actions((self) => ({
  approve: action({
    description: "Approve a draft order. Nobody approves their own.",
    input: Schema.Struct({ order: self.ref }),
    handler: ({ input, principal }) =>
      Effect.gen(function* () {
        const order = yield* self.get(input.order, { forUpdate: true });
        if (order.raisedById === principal.id)
          return yield* reject("Nobody approves their own order.");
        if (order.totalMinor > 500_000 && !principal.roles.includes("finance"))
          return yield* reject("Over £5,000 needs a finance approver.");
        yield* self.update(order, { status: "approved" });
      }),
  }),
}));
What it replaces
  • spreadsheets
  • Airtable bases
  • light ERP modules such as Odoo, Katana or Cin7
  • back-office SaaS
How to start

Our engineers model your orders, stock and suppliers with the people who run them, connect your store and carrier APIs, and run the new system beside your spreadsheets until the numbers match.

Have us build it

Enterprise, with our engineers

Our engineers model your orders, stock and suppliers with the people who run them, connect your store and carrier APIs, and run the new system beside your spreadsheets until the numbers match.

Build it yourself

Self-serve, with your own agent

Tell your agent how an order moves through your business. It writes the entities, the approval and adjustment actions, and the roles that may run them.

Related solutions

Read more

Questions

How does it connect to our store and carriers?

Stripe is a ready-made connection. Shopify, other stores, marketplaces and carriers connect through API-key or OAuth 2.0 connections, with the credential held by the platform, never in your code.

Can an agent work in it?

Yes. Ask the company agent which orders are late this week and it answers with the operator's own permissions. Any agent connected over MCP works the same way.

What does the first version include?

Orders, stock and purchase orders with your rules, the app your team opens, and the reports you rely on. Our engineers build it on your data in a two-week pilot, or your own agent builds it from the same blocks.

Enterprise pilot

Rather have it built for you? Start a pilot.

Our engineers model your orders, stock and suppliers with the people who run them, connect your store and carrier APIs, and run the new system beside your spreadsheets until the numbers match.

  • One solution, on your data, in your own workspace
  • First version live in two weeks
  • Parity proven before anything is switched off
  • Fixed scope and price, credited to your contract if you continue

Not ready for a pilot? Send the form anyway with your question. An engineer will reply, not a sales rep.

How the pilot works

Goes to our founder’s inbox. No sales queue, no newsletter.

Your company’s software, built by agents, owned by you.

$ segmentstream workspace create acme --region eu --subdomain acme

▸ Created workspace acme · database, warehouse and a private git repository

$ segmentstream workspace WORKSPACE-ID clone acme && cd acme

▸ your agent writes the five folders and runs the checks

$ git add -A && git commit -m "First version"

$ segmentstream deploy

▸ app, ontology API and MCP tools live for your invited members

Start a pilot

Our engineers build the first version on your data in two weeks, at a fixed price.

Or join the waitlist for self-serve:

We’ll email you product updates, tips and onboarding help. Unsubscribe anytime.

Self-serve opens to the waitlist first.