Materials

Component availability, FIFO supply allocation and how priority decides who gets the parts.

What APS knows about materials

For every manufacturing order, APS reads its Bill of Materials (BOM) from Odoo and computes the components and quantities needed. It also reads:

  • Stock on hand — available quantity at this moment
  • Incoming POs — quantities arriving on a confirmed date
  • Already-allocated quantities — what other in-progress MOs already claim

These come from the same sync that pulls MOs and work centers — no extra setup needed once the connector is configured.

Material-aware scheduling

In the scheduler modal, switch on Respect material availability. Every MO is then delayed until all its BOM components are available.

Available means: in stock or arriving on a PO before the MO needs it. APS computes a per-MO “material floor” date and prevents any operation of that MO from starting earlier.

Material handling by direction:
  • Forward — delays placement until parts are available.
  • Backward — keeps placement on due date and post-validates — flags MATERIAL_LATE / MATERIAL_SHORTAGE as conflicts on infeasible ops, without moving them.
  • Bidirectional — ignores material constraints entirely.

FIFO supply allocation (priority decides)

When two MOs need the same component and there's not enough to go around, the higher-priority order claims first. Within the same priority, the earlier due date wins. This mirrors the scheduler's sort order — the order you see on screen is the order APS hands out parts.

Concretely: APS walks every MO in scheduling order. For each component it consumes from the supply ledger in PO-arrival order (first-in-first-out). If existing stock fills it, no waiting. If only future POs cover it, the MO's material floor is the latest PO arrival date.

Conflicts

APS flags two material conflict types on operations:

  • MATERIAL_SHORTAGE — existing supply records don't cover demand. Surfaced by both Forward (when delaying isn't enough) and Backward post-validation. The MO can't be planned until a PO is added.
  • MATERIAL_LATE — supply arrives after the requested start. Surfaced by Backward (just-in-time) runs to highlight orders that can't finish on time without expediting purchasing.

Both surface in the conflict list above the Gantt. Click the operation to see which component is the bottleneck and what date is needed.

The Materials page

Open Materials from the sidebar to see every BOM component across the dataset. Columns:

  • Code — internal product code
  • Material — product name
  • On Hand — current stock
  • Reserved — quantity allocated to scheduled MOs
  • Available — On Hand minus Reserved
  • Shortage — how much you're short, if any
  • Status — OK or SHORTAGE

Filter by Status (All / Shortage / OK) or use the search box to match by code or material name. This is the fastest way to spot the part that's holding up your plan.

No supply data is not a shortage

If a component has zero supply records (e.g. inventory not yet synced), APS treats it as unconstrained, not as a shortage. Only when records exist but the quantity is insufficient is the MO blocked. This avoids false alarms on the first sync.

Pushing an MO ahead of others

To get a specific MO first pick of parts:

  1. Raise its priority in Odoo (lower number = higher priority).
  2. Or change priority temporarily in an APS scenario, run the scheduler, and observe the new allocation.
  3. Or pull in its due date — same priority, earlier date wins the tiebreaker.

Run the scheduler after changes and you'll see other MOs absorb the downstream impact (waiting longer, or hitting MATERIAL_SHORTAGE).

APS 4 Manufacturing

Built by Avalah

Odoo Gold Partner

APS 4 Manufacturing

Built by Avalah

Odoo Gold Partner