Skip to main content
POST
Change capex proposals' capitalization plans and their lots from a spreadsheet, a proposal at a time, or say what stops…

Headers

Prefer
enum<string>

Preference

Available options:
params=single-object

Body

Change capex proposals' capitalization plans and their lots from a spreadsheet, a proposal at a time, or say what stops each one.

p_payload is {"plans": [...], "lines": [...]}, a row of the file each, at most 2,000 to a list. Every row names its proposal by scheme_code, the Request ID, among the capitalization plans you can see; a plan is never added, since one is made when its proposal is approved. A row of plans may give budget_amount, ctc_amount and gst_credit_amount as numbers. A row of lines changes the lot whose line_no (its Line No., see capex_capitalization_lines) it gives, or adds a lot where it gives none, and may give capitalization_date as year-month-day, capitalization_value and asset_block_value as numbers, asset_block by the code, path or name of one of your organisation's asset categories, and tnc_asset_type by the code or name of a value of its TNC Asset Type Master list. Nothing else is read. A key left out keeps what the plan or lot holds, and a key given empty clears it, except that an empty asset_block_value is the capitalization value, as it is for a lot added without one and for a lot whose two values were equal and whose capitalization value the row changes. A name a lot already holds keeps the value it holds, even one no longer offered. A carry forward's budget is its approved carryover and is refused where a row gives it as anything else. A TNC asset type a lot already had is taken off when its block is changed to one that is not Plant and Machinery. An optional row key, the row's place in the file, is given back with its outcome. Plans, lots and columns the file does not mention are left as they are, and nothing is deleted.

Each proposal the file changes is saved exactly as save_capex_capitalization_plan and save_capex_capitalization_line save it, with every check, permission and Form Studio setting that applies there, and all or nothing: a refused row leaves its whole proposal as it was, and the other proposals are still saved. A row that adds a lot exactly like one the plan already has, or one an earlier row of the file adds, is refused with DUPLICATE_LINE; a second identical lot is added on the screen. A proposal that would change nothing is counted in proposals_unchanged and not saved, whoever may change it. Nothing is written unless p_dry_run is false; a dry run, the default, saves each proposal and takes it back, so its answer is the upload's.

Returns ok, dry_run, written (whether anything was), proposals_updated, proposals_unchanged, proposals_refused, lines_added, lines_changed and outcomes: for each proposal updated (or that would be, in a dry run) its row, scheme_code, outcome UPDATED, columns (the plan's figures it changes), lines_added (the Line No. of each lot added), lines_changed (each lot changed, by line_no, with its columns) and needs (what the plan still needs before its capitalization can be approved, as capex_capitalization_plans.capitalization_needs says it, once changed); and for each row refused its row, scheme_code, outcome REFUSED, error_code, message and hint.

p_payload
string<jsonb>
required
p_dry_run
boolean<boolean>

Response

200

OK