Production
Miridia separates what a product is made of from how it is made. The bill of materials is the recipe. The production process is the method. The two change at different times, and different people approve them. Thus Miridia gives each its own revisions.
Production processes
A production process is an ordered list of steps for one product. Each step has instructions, an expected duration, and the equipment that it needs. A step can name the components that it uses, as guidance for the operator.
A process has the same status values as a BOM: Draft, Active, Blocked, and Superseded. It also has a revision number, an effective date, and an optional expiry date. When you activate a new revision, new work orders use it.
One recipe can have more than one method. For example, you can make the same product by hand or on a machine line.
Work orders
A work order is the record of one production run. It has:
- the output product and the planned quantity
- the production location
- a reference, a description, and a scheduled start
- an optional assignee
The snapshot
When you create a work order, Miridia copies the active BOM revision and the active process revision into the work order. A later change to the recipe does not change a work order that exists. Thus you can read a work order correctly years later.
The lifecycle
| Status | Meaning |
|---|---|
Planned | The work is scheduled. |
InProgress | Production started. |
Completed | Production finished and the stock is posted. |
Cancelled | The work stopped. No stock is posted. |
Each step on a work order has its own status: Pending, InProgress, Done, or Skipped. You can add, change, and remove steps on a work order.
Complete a work order
When you complete a work order, give:
producedQuantity: the good outputscrappedQuantityand ascrapReason: the output that you lost. The reason is necessary when the scrapped quantity is more than zero.materialConsumption: the actual use of each material. This is optional.outputLotNumberandoutputLotExpiryDate: a lot for the output. This is optional.serialNumbers: serial numbers for the output. This is optional.
Miridia then posts to inventory:
- An
AssemblyConsumptionmovement for each component, at the location that holds it. - An
AssemblyProductionmovement for the output, at the production location.
The unit cost
A completed work order carries its total cost and its unit cost. Miridia calculates the cost from what the components really cost, with the weighted average cost of each component.
This closes the loop of the manufacturing module. The BOM predicts a cost. The work order reports the real cost. You can see the difference between the two.
productionLocationId when you complete it.Work order templates
A template saves time for a run that you repeat. A template has a name, an output product, a default quantity, a default production location, and a list of steps.
When you create a work order from a template, the template fills the description if you give none. Its steps are added after the steps of the process.
Schedule production
Use the schedule to plan production events on a calendar. The event type Production shows a planned run beside dispatches, inbound deliveries, and tasks.
Notifications and workflows
Miridia tells the business when a work order completes, with the quantity produced, and when a work order is cancelled. When you assign a work order to a person, Miridia tells that person. Workflows can start on OnWorkOrderCreated, OnWorkOrderStarted, OnWorkOrderUpdated, OnWorkOrderCompleted, and OnWorkOrderCancelled.