, but this code // executes before the first paint, when

Â鶹Çø

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Uniform Guidance Procurement Policies for Federal Dollars | Â鶹Çø

Â鶹Çø

Skip to main content

Uniform Guidance Procurement Policies for Federal Dollars

Table of Contents


Aggregate Purchas AmountFederal PolicyDescription
1. Micro-purchase Up to $50,000Purchases may be made without soliciting competitive price or rate quotations.Purchases must follow Calvin’s policies. The price should be reasonable based on research, experience, purchase history or other information.
2. Small purchase $50,001 - $250,000
Ìý
Price or rate quotes must be obtained from an adequate number of qualified resources. Quotes may be in writing, verbal, or via internet search.Calvin policy: Obtain 2-3 price quotes. Forward quotes to the Grants Accountant in Financial Services. For Sole Source, see SRA for form
3. Sealed bids purchases $250,000+Bids must be publicly solicited. Bids should obtain a firm fixed price and must be awarded to the lowest bidderPreferred method for construction. Obtain 2-3 price quotes. Forward quotes to the Grants Accountant in Financial Services
4. Competitive proposal purchases $250,000+Written proposals from 2-3 sources must be solicited.Typically used when conditions are not appropriate for the use of sealed bids.
5. Non-competitive purchases—all purchase levels (under special circumstances)Solicitation of only one bid proposal is required (from required or preferred vendor).Typically used when changing a vendor would impact results or if only one vendor is available.

Standards for all five mechanisms

  • The purchase must comply with Calvin’s documented procedures.
  • Purchases must be necessary (avoid unnecessary or duplicative purchases).
  • Open competition (to the extent required by each method).
  • Conflict of Interest policy is in place and followed.
  • Proper documentation for purchases (cost & price analysis; vendor selection).
    Ìý

Last updated