How to create new cost type and expense type
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
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"
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?
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
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 will always try to give a meaningful and valid answer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
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:
-
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.
-
-
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.
-
-
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).
-
-
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thursday
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 .
