How to create new cost type and expense type

MakhanlalM
Tera Contributor

I have a requirement in ServiceNow PPM/SPM Financial Management, and I would appreciate some guidance on the configuration.

Currently, in Demand and Project, we have the standard cost types:

  • capital_outlay (CapEx)

  • operational_outlay (OpEx)

  • other_cost (New field requirement)

These values roll up to Total Cost.

Requirement

We need to introduce a new cost category called "Other Cost", which may include multiple additional cost types. This new category should also contribute to the Total Cost calculation.

Current Situation

  • When creating a Cost Plan, we currently select a Cost Type (CapEx or OpEx).

  • Each Cost Type is associated with an Expense Type (either CapEx or OpEx).

  • We have already created:

    • A new Cost Type called  ="Other Cost"

    • A new Expense Type    = "other cost"

  1. How can we configure  so that "Other Cost" rolls up into the Total Cost field for Demand and Project?

    • What configurations or tables should be considered for this roll-up?

  2. How can this new cost category be configured at the Portfolio level?

    • We want to ensure that it is also considered when allocating budgets in the Financial Workspace tab.

  3. Is it possible to create a completely new Expense Type (other than CapEx and OpEx)?

    • If yes, how can it be mapped and rolled up correctly up to the Portfolio level?

Any suggestions on the correct configuration approach or best practices would be greatly appreciated.

Thank you in advance.

8 REPLIES 8

Guido Bernuetz
Tera Guru

my advise:

you can create additional cost types (table: resource_type_definition) as many you need. This is the main reporting category in expense lines and holds the relation to General Legder Account

but why you want extend the expense types?

  • CapEx - Capital Expenses
  • OpEx - Operational Expenses

should be good for all situations

 

My advise: Do not extend the expense type choices! (The summary widgets in Investment Portal will not support this)

 

 

I am not a helpful hunter.
I will always try to give a meaningful and valid answer.

AlfrinAJ
Tera Guru

Hello @MakhanlalM ,

I would highly suggest not to create new expense type, we created a new expense type in one of our projects. We faced lots of issues. Below are the issues that we faced:

  • The issue mostly occurred in budgeting process, where the third expense type will not be available in investment funding, project_budget table, investment portal. If you start customizing in place you have to touch it in all the places starting from project to portfolios. It is a never ending process.
  • The accountability is too much and when something breaks, ServiceNow will not be able to help as it comes under customisations.
  • When expenses starts coming in the project system will get confused and map everything to OpEx cost plan. To override this you will have to edit the OOB scripts (very risky).

This is what we did after removing the custom expense type-

  • We created a check box field for the third expense type in the cost_plan table and mapped it under OpEx expense type based on the cost type selected. And we created separated related list to maintain the cost plans that comes under third expense type.
  • We created a widget in project workspace financials page to show just the amount in third expense type. Also created custom fields and added under financials tab in project form to just show the particular amount.

Though this is not an ideal solution, this is what we have implemented. We were able to manage the gap with reports and dashboards.

Vaishnavi Lathk
Mega Sage

Hello @MakhanlalM ,

In ServiceNow, introducing a completely new Expense Type (beyond CapEx and OpEx) is technically possible, but it’s highly discouraged. The reason is that OOB budgeting, investment portal widgets, and roll-ups are designed to work with just CapEx and OpEx. Creating a new expense type often causes:

  • Budgeting issues (third expense type not available in project_budget or funding allocations)

  • Reporting gaps in investment portal and Financial Workspace

  • Mapping conflicts in cost plans, which may require editing OOB scripts (risky and unsupported)

Recommended approach:

  1. Use a new Cost Type, but map it to an existing Expense Type

    • You’ve already created a new Cost Type “Other Cost” → keep it.

    • Map it to an existing Expense Type (OpEx or CapEx) in the cost_plan table.

  2. Customize at the Cost Plan level

    • Add a checkbox or category field on Cost Plan to flag “Other Cost” entries.

    • Maintain these in a related list so you can track them separately.

  3. Financial Workspace / Portfolio reporting

    • Use custom widgets or dashboards to show “Other Cost” totals.

    • Roll-ups to Total Cost will still work because it’s linked to an existing Expense Type (OpEx/CapEx).

  4. Best practice:

    • Avoid extending Expense Type choices; keep them as CapEx/OpEx.

    • Leverage Cost Type + custom fields + reports/widgets for new categories.

    • This approach ensures OOB calculations, funding, and reporting remain intact.

In short, you can create new Cost Types freely, but tie them to existing Expense Types for proper roll-up and budgeting. Use custom fields or related lists to track additional categories like “Other Cost” without breaking OOB functionality.
Thanks

I created a new cost type(cost_plam) table which is called â€śOther Cost.” When I map this cost type to  expense type either CapEx or OpEx  ,for example CapEx, and then create a new cost plan selecting Other Cost, it automatically populates the Capital Cost field (R&D Costs attaced pic). Similarly, when mapped to OpEx, it populates the OpEx Cost field.

 

How can I map this to my custom fields?
If the cost type is Other Cost (with expense type OpEx), then when the cost plan is created, it should populate the value in the Other Cost custom field instead of Operational _outlay fields .

it should for the project as well .