Software Product Model: "Publish to Software Catalog" does not create/link Catalog Item (Catalog item field remains empty)Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Issue Summary A Software Product Model (table: cmdb_software_product_model) is expected to show a related Software Catalog Item (Product Catalog Item) after users click Related Links → Publish to Software Catalog on the model form. However, in some cases: The Catalog item reference on the Software Product Model remains empt No new Vendor Catalog Item is created/visible after publishing The Publish to Software Catalog related link continues to appear (indicating the platform still thinks no link exists) Expected Behavior When Publish to Software Catalog is used successfully: The Vendor Item is published into the Software Catalog A Vendor Catalog Item record is created and becomes visible under the Software Catalog's related list The Software Product Model gets linked to the created catalog item (the model's Catalog item / Product Catalog Item reference populates) Once the link exists, the "Publish to Software Catalog" related link should disappear because the model is already associated to a catalog item Root Cause / Analysis (when publish does nothing) If clicking Publish to Software Catalog does not create the record or link the model, the most common reason is that: The Software Product Model and the Software Catalog Item already exist but were created at different times (or via different processes), so ServiceNow does not automatically "match" them and establish the relationship. In that situation: The "Publish" action may not create a new catalog item (because one already exists or the data isn't aligned for creation) And it also may not automatically link to the existing catalog item Result: the model stays unlinked and the Publish related link remains available Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } All Versions Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } To Resolve this We would have to Manually restore the reference If a catalog item already exists but publishing does not link it, the supported approach is to manually link the Software Product Model to the correct catalog item by updating the model's reference field. This is the only supported fix in this scenario Because the platform's "Publish to Software Catalog" flow is intended to create/link during publish time, but it does not reliably re-link when: records were created separately the catalog item already exists the system cannot infer the correct association So we must explicitly restore the relationship by setting the model's catalog item reference. Please use the following Background script inorder to manually restore the reference // Software Product Model sys_id var modelSysId = "7a2ac2253784200044e0bfc8bcbe5de1"; // Catalog Item sys_id (from sc_cat_item or pc_software_cat_item based on your setup)var catItemSysId = "f365ad562f363210d406413bcfa4e3dd"; var gr = new GlideRecord("cmdb_software_product_model");if (gr.get(modelSysId)) { gs.info("Before: " + gr.getDisplayValue() + " | product_catalog_item=" + gr.getDisplayValue("product_catalog_item") + " (" + gr.getValue("product_catalog_item") + ")"); // Set the reference gr.setValue("product_catalog_item", catItemSysId); gr.update(); gs.info("After: " + gr.getDisplayValue() + " | product_catalog_item=" + gr.getDisplayValue("product_catalog_item") + " (" + gr.getValue("product_catalog_item") + ")"); } else { gs.info("No Software Product Model found for sys_id=" + modelSysId);}