> ## 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.

# Maintenance

> Keeping work centers running: reactive and preventive maintenance dispatches.

A maintenance **dispatch** records work against a **work center**. Dispatches are created reactively for failures or generated from preventive schedules. Operators execute them in MES; configuration and reporting are under Resources in the ERP.

## Dispatches

A **maintenance dispatch** records the problem, work center, assignee, time, and parts. It uses this lifecycle:

<details>
  <summary>**Open**</summary>

  Raised, not yet picked up.
</details>

<details>
  <summary>**Assigned**</summary>

  Given to someone.
</details>

<details>
  <summary>**In Progress**</summary>

  Being worked, with the clock running.
</details>

<details open>
  <summary>**Completed**</summary>

  Done. Any running time entries are closed automatically.
</details>

<details>
  <summary>**Cancelled**</summary>

  Dropped without completing.
</details>

Every dispatch carries a **priority** (Low, Medium, High, Critical) and a **source** that says where it came from: **Reactive** (a breakdown, the default), **Scheduled** (generated from a preventive schedule), or **Non-Conformance** (raised from a quality issue). It also carries a **severity** that says who handles it: **Preventive**, **Operator Performed**, **Support Required**, or **OEM Required**. Time is tracked as events against the dispatch, and parts as dispatch items.

## What it's against

A dispatch is attached to a **work center** and a required **location** — the machine being maintained. The **Takes work center offline** option also moves the work center's downtime window in the schedule.

NOTE

Maintenance targets a **work center**, not a fixed asset or an equipment record. The same physical machine may also be a depreciable fixed asset, but Alforse keeps those independent. Maintenance is about keeping the *production resource* available, not about the asset's book value.

## Preventive schedules

A **maintenance schedule** (**Resources → Maintenance → Schedules**) defines a work center, location, frequency (Daily, Weekly, Monthly, Quarterly, or Annual), priority, estimated duration, required parts, an optional procedure, and a **Next Due Date**. A background job runs daily at 06:00 UTC and creates an **Open** dispatch for each active schedule whose next due date has arrived. The dispatch has source `Scheduled`, severity `Preventive`, and a copy of the scheduled parts. Daily schedules can select weekdays and **Skip Holidays**. A schedule with **Takes Work Center Offline** needs an estimated duration; that window is taken out of the work center's capacity in scheduling.

## Blocking and OEE impact

Each dispatch declares its **OEE impact**: `Down`, `Planned`, `Impact`, or `No Impact`. This is an **availability gate**, not a metric.

HEADS UP

A dispatch marked **Down** or **Planned** blocks its work center while it is **In Progress**: on the floor, starting an operation there is refused with *Work center is blocked for maintenance* until the dispatch is completed or cancelled. There is no OEE percentage or uptime ratio in Alforse. The impact value exists to gate work, not to score it. Maintenance analytics are reliability KPIs (MTTR, MTBF, spare-part cost) computed from dispatch event durations.

## Material and cost

Parts used in maintenance are issued from inventory, drawing stock down through the item ledger as a *Maintenance Consumption* movement.

NOTE

Maintenance material is an **expense**. Issuing it relieves the part's cost at its costing method. It posts a journal that debits the **Maintenance Expense** default account and credits inventory, tagged with the dispatch's work center. Unissuing a part reverses it at the cost the dispatch booked. A part issued before maintenance consumption was valued comes back as a stock movement only, because nothing was expensed for it.

Maintenance time is an expense too. Each timecard on a dispatch is costed at its work center's **labor rate** (no overhead), and posts a journal that debits the **Maintenance Expense** default account and credits **Labor & Machine Absorption**, tagged with the employee, work center and location. It posts when the timecard ends (pausing or completing in MES, or saving a timecard with an end time in the back office). Editing a timecard posts the difference and deleting one reverses it.

## Related

**Work centers**

The machine a dispatch maintains — and that a Down dispatch blocks.

[Open](/docs/reference/work-centers.md)

**Jobs**

The production a blocked work center can't run until maintenance clears.

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

**Quality**

Where a Non-Conformance dispatch originates.

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


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