Configure PR and PO Progress Tracker states
On this page
Configure PR and PO Progress Tracker states
Configure which states appear in the Progress Tracker, and how they flow, by editing the PR Stage Display Config and PO Stage Display Config records—no code deployment required.
Before you begin
Role required: sn_fin.finance_admin
About this task
You can customize purchase requisition (PR) and purchase order (PO) state flows without code deployment. State graphs—including happy path, terminals, deviations, and the punchout variant—are defined in configuration records rather than hardcoded in script. You can add, remove, or reorder states by editing a record’s script field.
Configuration records are separate for PR and PO. The PR Stage Display Config record targets Purchase Requisition objects, and the PO Stage Display Config record targets Purchase Order objects, so you can change one independently of the other.
Editing the script field directly requires familiarity with ServiceNow scripts. Work with a developer if you are not comfortable editing scripts.
Procedure
-
Navigate to All > Finance Common > S2P Custom Configuration.
[Omitted image "progress-tracker-s2p-custom-config.png"] Alt text: List view showing PR Stage Display Config and PO Stage Display Config records in S2P Custom Configuration table.
-
Open PR Stage Display Config to edit the PR state graph, or PO Stage Display Config to edit the PO state graph.
-
In the Script field, edit the following arrays to add, remove, or reorder states: STATE, happyPath, terminals, and deviations.
[Omitted image “progress-tracker-pr-stage-display-config.png”] Alt text: Script editor showing STATE map and happyPath array in PR Stage Display Config record.
The PR configuration also defines a punchout variant happy path (
state=10,20,30,40,100,45,50—inserting Pending Supplier Confirmation before Pending Submission) separately from the standard happy path (state=10,20,30,40,45,50). For the full state reference, see the PR state model topic.The arrays now reflect your state flow changes.
-
For the PO configuration, edit the same graph-shaped fields, plus the PO-specific schema fields: statusField, variantField, choiceTable, workItemsText, pillsFrom, and headerAssigneeField / headerAssigneeStates.
Important: The PO configuration script runs under GlideScopedEvaluator in the sn_fin scope. Use plain string literals for state values, field names, and table names—do not reference sn_shop.PurchaseOrder constants, which are not accessible in that scope.
[Omitted image “progress-tracker-po-stage-display-config.png”] Alt text: Script editor showing schema field documentation in PO Stage Display Config record header comment.
The PO-specific schema fields are updated.
-
Select Update.
State-graph definitions are cached per transaction, so your change takes effect on the next request without a manual cache clear.
Result
The updated state graph takes effect on the next transaction for a PR or PO record. For the current state list and happy-path order, see the PR state model and PO state model topics.
Remove Final Review from PR happy path
To remove Final Review from the PR happy path, delete its state value from the happyPath array in the PR Stage Display Config script.
Before:
happyPath: [10, 20, 30, 40, 45, 50]
After:
happyPath: [10, 20, 30, 45, 50]
The stepper shows Pending Review → Pending Approval → Awaiting Task Completion → Pending Submission → Closed Complete, skipping Final Review.
What to do next
The ProcessStateMachine script include reads this configuration. Its output reaches the stepper UI through the get_pr_stepper_data data broker transform (PR) and the equivalent PO data broker. Both data brokers run under an execute ACL requiring the sn_shop.shopper role for the viewing user. See the configure tracker visibility topic for system-wide visibility, and the PR state model and PO state model topics for the resulting state model.
Parent Topic:Configure the Progress Tracker
Related topics
{Configure Progress Tracker visibility}[]
Keep exploring.
Find another answer, or bring this documentation into your own tools.