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

# Plan an asset of the CWIP list, or change its plan.

> Plan an asset of the CWIP list, or change its plan. The asset is named by p_asset_code and p_sub_asset_no as capex_cwip_plans has them; the first save of an asset makes its plan, and is refused with CWIP_ASSET_NOT_UPLOADED unless the latest CWIP upload has the asset. Every field is sent, as the plan stands, and one left out is emptied; see capex_cwip_plans for what each is. Needs finance.capex_cwip_plan.edit.

Nothing a plan must hold before it is sent is asked here: submit_capex_cwip_plan and every level's approval refuse it while something is missing (needs in the answer lists the columns, as plan_needs does). p_fiscal_calendar_id is one of your fiscal calendars (see capex_cwip_plan_calendars). p_capitalization_date, when given or changed, is after today, refused with INVALID_CWIP_PLAN otherwise. p_asset_category_id is one of your asset categories (see capex_cwip_plan_classes): where the asset's SAP Class is a category's code, that category or one under it, refused with INVALID_CWIP_PLAN otherwise. p_capitalization_value is more than zero and at most 9,999,999,999.99, kept to two places. p_tnc_asset_type_id, a value of your TNC Asset Type Master list (see capex_cwip_plan_tnc_asset_types), may be given only for a Plant and Machinery class and is refused for any other. A calendar, class or TNC asset type no longer offered is kept on a plan that already names it and refused for one that does not.

The plan's depreciation rate and shift factor are not sent. Both are written when the class is chosen and kept while it stays: the rate is the class's Depreciation % (or the nearest category above it with one), and the shift factor the number in the custom field named Shift Factor on the location whose code is the asset's BusA for Plant and Machinery (1 where there is no such location or it has none) and 1 for every other class. A class that had no rate takes the one it has been given since at the plan's next save.

What your organisation sets on this form in the Form Studio applies too: a field whose writing it keeps to some roles is refused with FIELD_NOT_PERMITTED to anybody without one of them who changes it.

While the plan is with its approvers, only the approver it is waiting on may change it, and they need not hold finance.capex_cwip_plan.edit; what they change is recorded against their step. Refused with CWIP_PLAN_DECIDED once the plan is approved or rejected, and CWIP_PLAN_WITH_APPROVERS while it is with approvers to anybody it is not waiting on. Returns the plan's id, created true where this save made it.



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