# Manufacturing

> Versioned bills of materials with routings on work centers, production orders numbered MO-2026-0001 that allocate and consume components and receive the output at component plus work center cost through inventory, lot genealogy and recall, and material requirements that suggest purchase and production orders.

- Category: Billing & commerce
- Module: `manufacturing`
- Modes: `managed`, `custom`
- Docs: https://bettersupabase.com/docs/blocks/manufacturing
- Page: https://bettersupabase.com/blocks/manufacturing

## Install

```bash
npx better-supabase add manufacturing
```

The command also installs `updated-at`, `memberships`, `permissions`, `numbering`, `catalog`, `ledger`, `inventory`.

## Configure

Add the block to `better-supabase.config.ts`:

```ts
import { defineConfig } from "better-supabase/config";

export default defineConfig({
  blocks: {
    // Required by manufacturing; add installs them too.
    "updated-at": {},
    memberships: {},
    permissions: {},
    numbering: {},
    catalog: {},
    ledger: {},
    inventory: {},
    // Modes: "managed", "custom". The default is "managed".
    manufacturing: { mode: "managed" },
  },
});
```

## Client

The block has no React entry yet. Its server-side TypeScript is in `better-supabase/blocks/manufacturing`.

## Events

- `bom.activated`
- `production_order.cancelled`
- `production_order.completed`
- `production_order.released`

## Related blocks

Requires: [memberships](https://bettersupabase.com/blocks/memberships.md), [permissions](https://bettersupabase.com/blocks/permissions.md), [catalog](https://bettersupabase.com/blocks/catalog.md), [inventory](https://bettersupabase.com/blocks/inventory.md), [numbering](https://bettersupabase.com/blocks/numbering.md)

Works with: [assets](https://bettersupabase.com/blocks/assets.md), [drive](https://bettersupabase.com/blocks/drive.md), [inspections](https://bettersupabase.com/blocks/inspections.md), [accounting](https://bettersupabase.com/blocks/accounting.md), [outbox](https://bettersupabase.com/blocks/outbox.md), [audit](https://bettersupabase.com/blocks/audit.md), [numbering](https://bettersupabase.com/blocks/numbering.md)

## Recipes

- [Production order board](https://bettersupabase.com/recipes/production-order-board.md): Production orders in status columns from draft to done; dragging a draft to Released releases it, and a running order to Done completes it.
