> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Methods & sourcing

> How Alforse decides whether each part is made, bought, or pulled from stock, and how a job gets its own copy of the recipe.

A part's **manufacturing method** defines its **method materials** (bill of materials) and **method operations** (routing). Every made part requires a method.

## Method type

Every item carries a **method type** that routes it down one of three paths. You set it on the item; every
bill of materials that uses the item mirrors it.

| Method type | What happens |
| - | - |
| Make to Order | Manufactured in-house. Becomes its own job with a routing. |
| Purchase to Order | Purchased. Flows through purchasing as a purchase order. |
| Pull from Inventory | Pulled from stock when its parent is built. |

NOTE

The method type lives on the **item**, not on each BoM line. Change it once and it cascades to every
method that references the part — draft methods only; active and archived methods stay frozen.

## Method type vs replenishment system

Method type and replenishment system answer different questions:

* **Method type** answers *how does this part get into its parent?* Make to Order, Purchase to Order, or Pull from Inventory.
* **Replenishment system** answers *how is this part replenished overall, and which planning queue does it
  land in?* `Buy`, `Make`, or `Buy and Make`.

A part can be made for one parent and pulled from stock for another. Planning uses the replenishment system to choose between a job and purchase order.

## Kit or subassembly

A **Make to Order** item inside a bill of materials is one of two things:

| | Subassembly | Kit |
| - | - | - |
| Built as | its own job + routing | nothing separate |
| Components | consumed by the subassembly job | issued together into the parent job |
| Use when | the thing is genuinely manufactured | a group of parts always goes in as a set |

## Get Method

When you create a job, **Get Method** copies the part's method into a job-specific record. Changes to that copy do not modify the part master. If an approved change is pushed back to the master, later jobs inherit it.

NOTE

Methods are versioned: **Draft**, **Active**, or **Archived**. Only a Draft is editable; an Active method
is frozen so jobs already running against it don't shift mid-build.

Each material line carries a **Pull From** storage unit; see [Backflush and Pull From](/docs/reference/strict-backflush.md).

## Related

**Jobs**

Get Method copies a part's method into a job.

[Open](/docs/reference/jobs.md)

**Reordering policy**

How the replenishment system pairs with a part's reordering policy.

[Open](/docs/reference/reordering.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.