Assets

This page is generated from the in-app guide content — edit featureToggleGuides and run pnpm gen:feature-toggle-docs.

Auto-create a work order for each slip

Each preventive slip the nightly job creates also gets a draft work order linked to it, ready to assign or dispatch to Field Service.

CodeDefaultSwitch atTurn on first
asset.pm_auto_create_work_orderOff/asset-management/settingsAuto-generate preventive maintenance (asset.pm_auto_generate)

How it works

When the nightly job creates a preventive slip, it also creates a draft work order linked to that slip.

Conditions for it to take effect

Auto-generate preventive maintenance must be on.

When ON

Each new automatic slip comes with a draft work order ready to assign or dispatch to Field Service.

When OFF

Slips are created without a work order; create one from the slip when needed.

Screens, documents and reports affected

Work order list (new drafts), maintenance slip detail.

Caveats

Applies only to slips created by the nightly job, not to slips created by hand. Turning it off does not delete work orders already created.

Example

The AC slip created overnight already has draft work order WO-0123 attached; the supervisor only assigns a technician in the morning.

Auto-generate preventive maintenance

Every night, create a preventive maintenance slip for assets whose interval (category or asset override) is due. One open slip per asset.

CodeDefaultSwitch atTurn on first
asset.pm_auto_generateOff/asset-management/settings—

How it works

A nightly job (01:25) checks every active company that has this on and creates a preventive maintenance slip for each asset whose interval (asset override, otherwise its category) is due within the lead days.

When ON

Preventive slips appear by themselves each night; an asset never gets a second slip while one is still open.

When OFF

No slips are created automatically; preventive maintenance is scheduled by hand.

Screens, documents and reports affected

Maintenance list and calendar, asset detail (maintenance history), the nightly job.

Caveats

Only assets with an interval greater than 0 on the asset or its category are picked up. Turning it off stops new slips; slips already created stay. Auto-create a work order for each slip requires this (turn that off first).

Example

Category Air conditioners has a 90-day interval. The night an AC unit reaches 90 days since its last maintenance, a slip is created for it.

Block checkout when unavailable

Only assets in Active status can be checked out or reassigned (not under maintenance, reserved or lost). Disposed assets are always blocked.

CodeDefaultSwitch atTurn on first
asset.block_checkout_when_unavailableOn/asset-management/settings—

How it works

Checked when an asset is handed to a person or a location (Check out, Reassign, including tool checkouts from maintenance and Field Service). The asset must be in Active status.

When ON

Checking out or reassigning an asset that is under maintenance, reserved, in storage or lost is rejected with an error naming its status.

When OFF

Any non-terminal asset can be checked out or reassigned regardless of status. Disposed, written-off and lost/stolen assets are still always blocked.

Screens, documents and reports affected

Asset detail (Check out, Reassign), tool checkouts from maintenance slips and Field Service tool requisitions.

Caveats

Reopening an asset audit session restores the previous custodian without this check.

Example

A laptop is under repair (status Under maintenance). With this on, IT cannot check it out to a new hire until the repair work order completes and the asset is Active again.

Require category on create

Block creating an asset with no category

CodeDefaultSwitch atTurn on first
asset.require_category_on_createOff/asset-management/settings—

How it works

Checked when an asset is created (one by one, bulk serialized creation) and in CSV import preview/commit.

When ON

Creating an asset without a category is rejected; an import row without category_name is reported as an error.

When OFF

Assets can be created without a category; depreciation and maintenance defaults that come from the category are then empty.

Screens, documents and reports affected

New asset form, bulk serialized creation, asset CSV import.

Caveats

Capitalizing an asset from a goods receipt does not go through this check. Turning it on does not touch existing assets without a category. On by default for new companies.

Example

With this on, an accountant cannot register a new printer until they pick Office equipment, so its depreciation life and account come from the category.

Require condition on check-in

Require an asset condition to be recorded on check-in

CodeDefaultSwitch atTurn on first
asset.require_condition_on_checkinOff/asset-management/settings—

How it works

Checked when an asset is returned (Check in) — from the asset page or when a Field Service tool is returned.

When ON

A return without a condition is rejected.

When OFF

A return can be saved without a condition.

Screens, documents and reports affected

Asset detail (Check in), Field Service tool returns and tool requisition returns.

Caveats

A Damaged condition always requires damage notes, on or off. Reassigning closes the previous holder’s assignment with condition Unknown without asking. Tools returned automatically when a work order or maintenance slip completes are recorded with condition Unknown — inspect them if condition matters. On by default for new companies.

Example

An employee returns a projector; the custodian must pick Good, Fair or Damaged (with notes) before the return is saved.

Work-order parts deduct stock

A parts entry linked to an inventory item (or a SKU matching one item) creates and confirms a goods issue when the work order completes — real stock deduction and COGS posting. Off keeps parts cost-only.

CodeDefaultSwitch atTurn on first
asset.workorder_parts_deduct_stockOn/settings/erp-configuration—

How it works

Read when an asset work order is completed, inside the same transaction that marks it completed.

When ON

Completing a work order issues each part (actual quantity if entered, otherwise planned) from its warehouse at ledger cost, stamped with the asset’s cost center, and posts cost of goods issued after commit.

When OFF

Completing a work order issues no stock: parts stay as planned lines and the parts cost is what was typed on the work order. Reservations are still released.

Screens, documents and reports affected

Asset work order completion, goods issues with source Asset work order, work order parts cost.

Caveats

While on, a part line with no inventory item and no SKU matching exactly one item blocks completion with an error. Existing companies were pinned on (migration 2655) so behaviour did not change; on by default. Materials of a linked maintenance slip are issued by the slip regardless of this switch. With it off, Reserve parts is hidden and the API refuses it (a reservation would lock stock that is never issued).

Example

A technician completes a work order with 2 filters on the parts list: with this on, 2 filters leave the maintenance warehouse and the parts cost becomes the ledger cost; with it off, stock is untouched and the typed cost stays.