Some PDIs are currently unavailable, and PDI actions are paused. View the latest updates here. Read More

Getting MSG 'Investment currency is configured to follow functional currency and cannot be changed'

UpendraC
Tera Contributor

Hi,

 

I am facing some issue when i click the retract button for a demand record.  I am unable to update the record for this Demand record which state is qualified and investment currency is empty. And the error is 'Investment currency is configured to follow functional currency and cannot be changed'. Checked all the configurations but unable to find that. Can anyone help this case.

 

Thanks,

2 REPLIES 2

Vikram Reddy
Tera Guru

Hi @UpendraC,

 

This is validation tied to the newer Investment Currency setup on SPM Financials, not some hidden toggle buried on the form somewhere. Investment Currency and Functional currency are two separate concepts now: functional currency is the instance-wide base currency, and Investment Currency is set per work item (demand, project, epic). Depending on how that capability is configured, a demand's investment currency can either be picked independently or forced to always mirror the functional currency. When it's the latter, the field is supposed to auto-populate and go read-only, not sit blank.

An empty Investment currency on a Qualified demand, paired with a save-time error saying it "cannot be changed," is the classic sign of a demand that existed before Investment Currency was turned on for demands and never got backfilled. This capability expanded significantly in a recent SPM release (Q4 2025) to cover demands, projects, and epics, and ServiceNow ships an upgrade job to migrate existing demand and project currency data into the new investment currency fields. If that job didn't run, or didn't touch this specific record, you end up with a demand flagged as "follow functional currency" with nothing populated for the platform to actually work against, and whatever script fires on the retract transition trips over that gap.

Before logging a case, I'd check:

  • Confirm Functional currency is actually set at the instance level under Currency Administration.
  • Check whether this demand already has any cost plans, budgets, or actuals attached. Once financial records exist against a work item, investment currency locks permanently, and that's a separate, correct block from the one you're hitting on an empty field.
  • Look for the multicurrency migration or backfill job for demands and projects (scheduled job or fix script) and confirm it actually completed against this record's sys_id, not just ran instance-wide.
  • Check the system property that controls whether investment currency defaults to following functional currency for demands. If that's true instance-wide, every legacy demand needs the backfill to have a value.
  • Trace whatever business rule, flow, or workflow activity fires on the retract state transition. Given the exact wording, this reads like an out-of-box script validating currency on save, not a UI policy issue.

If the backfill comes back clean and the demand still won't save, that points to a genuine defect rather than a config gap, in which case it's worth raising with ServiceNow support with the demand's sys_id and the full stack trace, since demand/project currency conversion has had a few rough edges since this feature landed.

This behavior is tied to a fairly recent SPM feature, so confirm your release and plugin version before assuming the checklist above lines up exactly with what you're seeing.

 

Thank you,
Vikram Karety
Octigo Solutions INC

Tanushree Maiti
Tera Patron

Hi @UpendraC 

 

Check

Select demand currency preference 

Multi-Currency Support in the New Financials Experience

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti