Blanket Purchase Agreements
- Applications
- iSupplier
- Blanket Purchase Agreements
The following has evaluated to null or missing:
==> applicationsService [in template "20099#20135#8048153" at line 1, column 28]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign applicationData = application... [in template "20099#20135#8048153" at line 1, column 1]
----
1<#assign applicationData = applicationsService.getApplicationDataByAppCode(ApplicationCode.getData()) />
2<#assign userHasAccess = applicationsService.userHasAccessToApplication(themeDisplay.getUserId(), applicationData.applicationDataId) />
3<#assign applicationSubGroup = applicationsService.getSubgroupByUserAccess(ApplicationCode.getData(),themeDisplay.getUserId())/>
4<#assign appName = .vars['reserved-article-title'].data />
5<#assign applicationDataList = applicationsService.getAllApplicationData() />
6<#assign subApplicationPrefix = ApplicationCode.getData() + "|"/>
7<#assign subgroups = []/>
8<#assign singleLaunchUrl = "-"/>
9<#list applicationSubGroup as item>
10 <#assign parts = item.applicationCode?split("|") />
11 <#assign splitSize = parts?size />
12 <#if (splitSize > 2)>
13 <#assign number = parts[splitSize - 1]?number />
14 <#else>
15 <#assign number = 0 />
16 </#if>
17 <#assign subgroups = subgroups + [{"item": item, "number": number}] />
18</#list>
19
20<#assign sortedList = subgroups?sort_by("number") />
21
22<#assign isMultipleApplication = (subgroups?size > 1)/>
23
24<style>
25 .journal-content-article .multi-app-drop-down {
26 right: 15px;
27 }
28 .journal-content-article .nav-dropdown-child-adjust-label {
29 display: inline-block;
30 white-space: normal;
31 width: 180px;
32 word-wrap: break-word;
33 }
34</style>
35
36<div class="generic-page-header">
37 <div class="eyebrow-badge eyebrow-badge-bold v-m-bottom-xs">
38 <span class="v-fw-medium">User Guide</span>
39 </div>
40 <div class="row justify-content-end">
41 <div class="col-sm">
42 <h3 class="v-fw-medium v-m-bottom-s">${appName}</h3>
43 </div>
44 <div class="col-sm-auto">
45 <#if (userHasAccess || !applicationData.isVipAccessManaged)>
46 <#if isMultipleApplication>
47 <div>
48 <button class="btn btn-secondary btn-dropdown" onclick="dropdownToggle()">
49 <img src="/o/bestbuy-theme/images/dropdown-caret-bottom.svg" />
50 Launch
51 </button>
52 <div class="multi-app-drop-down hidden">
53 <#list sortedList as entry>
54 <a href="${entry.item.launchUrl}" class="nav-link top-navigation-link"
55 <#if entry.item.launchUrl?starts_with("http") || entry.item.launchUrl?starts_with("www")>
56 target="_blank"
57 <#else>
58 target="_self"
59 </#if>>
60 <div class="nav-dropdown-child-adjust">
61 <div class="nav-dropdown-child-adjust-label">
62 ${entry.item.applicationName}
63 </div>
64 </div>
65 ​
66 </a>
67 </#list>
68 </div>
69 </div>
70 <#else>
71 <#if (subgroups?size == 1)>
72 <#assign singleLaunchUrl = subgroups[0].item.launchUrl>
73 <#assign singleLaunchName = subgroups[0].item.applicationName />
74 <#else>
75 <#assign singleLaunchUrl = applicationData.launchUrl/>
76 <#assign singleLaunchName = appName>
77 </#if>
78 <a id="generic-page-header-launch-link" href="${singleLaunchUrl}" onclick="gaTracking('Launch App from User Guide', 'Launch ${singleLaunchName}');return true;">
79 <button class="btn btn-sm btn-blue">
80 <img id="generic-page-header-launch-icon" class="generic-page-header-launch-icon" src="/o/bestbuy-theme/images/launch-icon.svg" />
81 <span>Launch</span>
82 </button>
83 </a>
84 </#if>
85 <#else>
86 <a href="${applicationData.userGuideRequestAccessUrl}" onclick="gaTracking('Request Access from User Guide', 'Request Access to ${appName}');return true;">
87 <button class="btn btn-sm btn-primary">
88 <img class="request-access-lock-icon" src="/o/bestbuy-theme/images/lock-blue.svg" />
89 <span>Request Access</span>
90 </button>
91 </a>
92 </#if>
93 </div>
94 </div>
95</div>
96<script type="text/javascript">
97 function gaTracking(pageHeaderEventCategory, pageHeaderEventLabel) {
98 ga('send', {hitType: 'event', eventCategory: pageHeaderEventCategory, eventAction: 'Click', eventLabel: pageHeaderEventLabel});
99 }
100
101 function isExternalLink(url) {
102 try {
103 return new URL(url).origin !== location.origin;
104 } catch(error) {
105 return false;
106 }
107 }
108
109 var element;
110 if (!isExternalLink("${singleLaunchUrl}")) {
111 element = document.getElementById("generic-page-header-launch-icon");
112 if (element) {
113 element.style.display = "none";
114 }
115 } else {
116 var launchLinkTag = document.getElementById("generic-page-header-launch-link");
117 if (launchLinkTag) {
118 launchLinkTag.target = "_blank";
119 }
120 }
121
122 function dropdownToggle(e){
123 e = e || window.event;
124 e.preventDefault();
125 e.currentTarget.classList.toggle('dropdown-active');
126 e.currentTarget.nextElementSibling.classList.toggle('hidden');
127 if (e.currentTarget.nextElementSibling.classList.contains('hidden')) {
128 e.currentTarget.blur();
129 }
130 }
131</script>
Blanket Purchase Agreements
Blanket Purchase Agreements
Best Buy has added functionality for Blanket Purchase Agreement (BPA) changes initiated by a vendor in iSupplier, making the process for requesting these changes more streamlined and easier for both Best Buy and our Non-Merch/Goods Not For Resale (GNFR) vendor partners.
All Blanket Purchase Agreement change requests must be submitted through iSupplier. These requests should only include price and lead time changes. Any other change requests, including adding or removing items, should flow through your normal process. Communicate these end-of-life changes via GNFR vendor management.
Change requests will be reviewed and processed by the Best Buy team. Once an action has been taken by Best Buy, you can view the change within iSupplier.
To Submit a Change Request for Price or Lead Time
- Go to Agreements from Supplier Home.
- Click Go.
- Click on the Edit Agreement pencil icon.
- Click on the Edit Agreement pencil icon for the item you would like to update.
- Update Price and/or Lead Time.
- Click Save then Submit.
To Update an Item with Price Breaks
- Navigate to Item with price breaks (steps 1-3 above).
- To search for specific item number, click Search. In Add Another field, Add Item. Click Go to find item.
- Click on pencil next to item to begin your edit.
- Click on green plus sign to add price breaks. Enter Qty and Break Price. The Discount (%) will automatically calculate based on the Price.
- Click Apply and click Save. This will send a change request to Buyer for approval.
- This completes the update. If you experience any technical issues, contact the Buyer listed on the BPA.
To find additional iSupplier resources on the Partner Portal:
- Search for: iSupplier, iSupplier Training Documents, or the iSupplier User Guide.
- On this page:
- Blanket Purchase Agreements