The procurement process can differ from one organization to another, but it generally encompasses the following ten crucial steps. By adhering to these steps, businesses can ensure a streamlined, efficient, and cost-effective procurement process that strengthens vendor relationships and enhances overall operational performance.
1. Identifying Needs
The first step involves pinpointing the specific goods or services required by the business. This could be a new item, a restock of existing products, or a subscription renewal. The procurement team should consult with all departments impacted by the purchase to ensure the items meet everyone’s needs. Effective communication at this stage is critical to avoid unnecessary purchases and ensure all requirements are met comprehensively.
2. Submitting a Purchase Requisition
When a department needs to acquire a significant amount of supplies or services, they submit a purchase requisition. This document outlines the requirements, including price, quantity, and expected delivery time. The department overseeing the purchase then reviews this request for approval. A well-detailed purchase requisition ensures that all stakeholders are informed and that the procurement team can proceed efficiently.
3. Evaluating and Selecting Vendors
Once the purchase requisition is approved, the next step is to identify potential vendors and request quotations (RFQs). Vendor evaluation should focus on factors like cost, reputation, speed, and quality. Companies committed to sustainability should also consider ethical sourcing and social responsibility. Conducting thorough vendor evaluations ensures that the selected vendor can meet the organization’s quality and delivery standards.
4. Negotiating Terms
It’s imperative to obtain at least three quotes from different vendors for comparison. Review each quote carefully and negotiate terms as needed. Always get the final terms in writing to avoid misunderstandings later. Effective negotiation can lead to better pricing, favorable terms, and long-term vendor relationships that benefit both parties.
5. Issuing a Purchase Order
After finalizing the terms, a Purchase Order (PO) is created and sent to the chosen vendor. The PO should include specific details such as item descriptions, quantities, and delivery timelines to clearly specify the goods or services required. Accurate and detailed POs help prevent any confusion or errors in the procurement process.
6. Receiving and Inspecting Goods
Upon delivery, the receiving department should inspect the goods for any discrepancies or damages. Ensure that the items match the specifications outlined in the PO. Proper inspection at this stage helps avoid future disputes and ensures that the organization receives exactly what was ordered.
7. Three-Way Matching
The accounting department must reconcile the PO with the delivery note and invoice. This step ensures that the received goods match the initial order and helps prevent payment of incorrect invoices. Three-way matching is a critical control measure that protects the organization from overpaying or paying for undelivered goods.
8. Invoice Approval
After confirming the three-way match, the invoice is approved. Implementing a standardized approval process helps ensure timely payments and fosters good relationships with vendors. Efficient invoice approval processes can improve cash flow management and strengthen vendor trust.
9. Making the Payment
Once the invoice is approved, the Accounts Payable (AP) department can proceed with the payment, confident that all necessary verifications have been made. Timely and accurate payments are essential to maintaining good vendor relationships and can sometimes lead to favorable credit terms or discounts.
10. Record-Keeping
Maintaining accurate records of the entire procurement process is vital. These records assist in future re-orders, audits, and tax calculations. Precise and accurate records can also help resolve any potential disputes. Effective record-keeping ensures that the organization has a clear audit trail and can make informed decisions based on historical data.
By following these essential steps in the procurement process, organizations can achieve significant efficiencies, cost savings, and improved vendor relationships. Leveraging procurement process automation tools like Procee can further enhance these benefits, ensuring a seamless, transparent, and highly efficient procurement workflow.
Consider integrating Procee’s procurement automation software into your procurement process to experience the full range of benefits, including real-time tracking, automatic invoice matching, and seamless integration with your existing accounting systems.
Visit Procee Procurement Software to learn more about how we can help your organization streamline its procurement processes.
Product
Company
Resources
© 2023 Procee.com
{“prefetch”:[{“source”:“document”,“where”:{“and”:[{“href_matches”:”/”},{“not”:{“href_matches”:[“/wp-.php”,“/wp-admin/”,“/wp-content/uploads/”,“/wp-content/”,“/wp-content/plugins/”,“/wp-content/themes/hello-elementor/”,”/\?(.+)”]}},{“not”:{“selector_matches”:“a[rel~=“nofollow”]”}},{“not”:{“selector_matches”:“.no-prefetch, .no-prefetch a”}}]},“eagerness”:“conservative”}]} const registerAllyAction = () => { if ( ! window?.elementorAppConfig?.hasPro || ! window?.elementorFrontend?.utils?.urlActions ) { return; } elementorFrontend.utils.urlActions.addAction( ‘allyWidget
’, () => { if ( window?.ea11yWidget?.widget?.open ) { window.ea11yWidget.widget.open(); } } ); }; const waitingLimit = 30; let retryCounter = 0; const waitForElementorPro = () => { return new Promise( ( resolve ) => { const intervalId = setInterval( () => { if ( retryCounter === waitingLimit ) { resolve( null ); } retryCounter++; if ( window.elementorFrontend && window?.elementorFrontend?.utils?.urlActions ) { clearInterval( intervalId ); resolve( window.elementorFrontend ); } }, 100 ); // Check every 100 milliseconds for availability of elementorFrontend }); }; waitForElementorPro().then( () => { registerAllyAction(); });
We use cookies to give you the best experience. learn more
ACCEPT & CLOSE const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( .e-con.e-parent:not(.e-lazyloaded) ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( ‘e-lazyloaded’ ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: ‘200px 0px 200px 0px’ } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ ‘DOMContentLoaded’, ‘elementor/lazyload/observe’, ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); var ea11yWidget = {“iconSettings”:{“style”:{“icon”:“person”,“size”:“medium”,“color”:“#2563eb”},“position”:{“desktop”:{“hidden”
,“enableExactPosition”
,“exactPosition”:{“horizontal”:{“direction”:“right”,“value”
,“unit”:“px”},“vertical”:{“direction”:“bottom”,“value”
,“unit”:“px”}},“position”:“bottom-right”},“mobile”:{“hidden”
,“enableExactPosition”
,“exactPosition”:{“horizontal”:{“direction”:“right”,“value”
,“unit”:“px”},“vertical”:{“direction”:“bottom”,“value”
,“unit”:“px”}},“position”:“bottom-right”}}},“toolsSettings”:{“bigger-text”:{“enabled”
},“bigger-line-height”:{“enabled”
},“text-align”:{“enabled”
},“readable-font”:{“enabled”
},“grayscale”:{“enabled”
},“contrast”:{“enabled”
},“page-structure”:{“enabled”
},“sitemap”:{“enabled”
,“url”:“
https://procee.com/wp-sitemap.xml”},“reading-mask”:{“enabled”:true},“hide-images”:{“enabled”:true},“pause-animations”:{“enabled”:true},“highlight-links”:{“enabled”:true},“focus-outline”:{“enabled”:true},“screen-reader”:{“enabled”:false},“remove-elementor-label”:{“enabled”:false}},“accessibilityStatementURL”:"",“analytics”:{“enabled”:false,“url”:null}}; //# sourceURL=ea11y-widget-js-extra var jetMenuPublicSettings = {“version”:“2.1.7”,“ajaxUrl”:“
https://procee.com/wp-admin/admin-ajax.php”,“isMobile”:“false”,“templateApiUrl”:“https://procee.com/wp-json/jet-menu-api/v1/elementor-template”,“menuItemsApiUrl”:“https://procee.com/wp-json/jet-menu-api/v1/get-menu-items”,“restNonce”:“6dcb9b289f”,“devMode”:“false”,“wpmlLanguageCode”:"",“menuSettings”:{“jetMenuRollUp”:“false”,“jetMenuMouseleaveDelay”:“500”,“jetMenuMegaWidthType”:“selector”,“jetMenuMegaWidthSelector”:“body”,“jetMenuMegaOpenSubType”:“hover”,“jetMenuMegaAjax”:“false”}}; //# sourceURL=jet-menu-public-scripts-js-extra function CxCSSCollector(){“use strict”;var t,e=window.CxCollectedCSS;void 0!==e&&((t=document.createElement(“style”)).setAttribute(“title”,e.title),t.setAttribute(“type”,e.type),t.textContent=e.css,document.head.appendChild(t))}CxCSSCollector(); //# sourceURL=jet-menu-public-scripts-js-after var elementorFrontendConfig = {“environmentMode”:{“edit”
,“wpPreview”
,“isScriptDebug”
},“i18n”:{“shareOnFacebook”:“Share on Facebook”,“shareOnTwitter”:“Share on Twitter”,“pinIt”:“Pin it”,“download”:“Download”,“downloadImage”:“Download image”,“fullscreen”:“Fullscreen”,“zoom”:“Zoom”,“share”:“Share”,“playVideo”:“Play Video”,“previous”:“Previous”,“next”:“Next”,“close”:“Close”,“a11yCarouselPrevSlideMessage”:“Previous slide”,“a11yCarouselNextSlideMessage”:“Next slide”,“a11yCarouselFirstSlideMessage”:“This is the first slide”,“a11yCarouselLastSlideMessage”:“This is the last slide”,“a11yCarouselPaginationBulletMessage”:“Go to slide”},“is_rtl”
,“breakpoints”:{“xs”
,“sm”
,“md”
,“lg”
,“xl”
,“xxl”
},“responsive”:{“breakpoints”:{“mobile”:{“label”:“Mobile Portrait”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“mobile_extra”:{“label”:“Mobile Landscape”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“tablet”:{“label”:“Tablet Portrait”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“tablet_extra”:{“label”:“Tablet Landscape”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“laptop”:{“label”:“Laptop”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“widescreen”:{“label”:“Widescreen”,“value”
,“default_value”
,“direction”:“min”,“is_enabled”
}}, “hasCustomBreakpoints”
},“version”:“4.1.0”,“is_static”
,“experimentalFeatures”:{“additional_custom_breakpoints”
,“theme_builder_v2”
,“hello-theme-header-footer”
,“global_classes_should_enforce_capabilities”
,“e_variables”
,“e_opt_in_v4_page”
,“e_components”
,“e_interactions”
,“e_widget_creation”
,“import-export-customization”
},“urls”:{“assets”:“
https://procee.com/wp-content/plugins/elementor/assets/”,“ajaxurl”:“https://procee.com/wp-admin/admin-ajax.php”,“uploadUrl”:“http://procee.com/wp-content/uploads”},“nonces”:{“floatingButtonsClickTracking”:“d2985b4e24”,“atomicFormsSendForm”:“ed1f62e1e9”},“swiperClass”:“swiper”,“settings”:{“page”:[],“editorPreferences”:[]},“kit”:{“active_breakpoints”:[“viewport_mobile”,“viewport_tablet”],“global_image_lightbox”:“yes”,“lightbox_enable_counter”:“yes”,“lightbox_enable_fullscreen”:“yes”,“lightbox_enable_zoom”:“yes”,“lightbox_enable_share”:“yes”,“lightbox_title_src”:“title”,“lightbox_description_src”:“description”,“hello_header_logo_type”:“logo”,“hello_header_menu_layout”:“horizontal”,“hello_footer_logo_type”:“logo”},“post”:{“id”
,“title”:“10%20Essential%20Steps%20in%20the%20Procurement%20Process%20%E2%80%93%20Procee”,“excerpt”:"",“featuredImage”:“
https://procee.com/wp-content/uploads/2022/06/integration-2-png.png”}}; //# sourceURL=elementor-frontend-js-before var localize = {“ajaxurl”:“
https://procee.com/wp-admin/admin-ajax.php”,“nonce”:“7807a98281”,“i18n”:{“added”:“Added ”,“compare”:“Compare”,“loading”:“Loading…”},“eael_translate_text”:{“required_text”:“is a required field”,“invalid_text”:“Invalid”,“billing_text”:“Billing”,“shipping_text”:“Shipping”,“fg_mfp_counter_text”:“of”},“page_permalink”:“
https://procee.com/10-essential-steps-in-the-procurement-process/”,“cart_redirectition”:"",“cart_page_url”:"",“el_breakpoints”:{“mobile”:{“label”:“Mobile Portrait”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“mobile_extra”:{“label”:“Mobile Landscape”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“tablet”:{“label”:“Tablet Portrait”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“tablet_extra”:{“label”:“Tablet Landscape”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“laptop”:{“label”:“Laptop”,“value”
,“default_value”
,“direction”:“max”,“is_enabled”
},“widescreen”:{“label”:“Widescreen”,“value”
,“default_value”
,“direction”:“min”,“is_enabled”
}}}; //# sourceURL=eael-general-js-extra wp.i18n.setLocaleData( { ‘text direction\u0004ltr’: [ ‘ltr’ ] } ); //# sourceURL=wp-i18n-js-after var ElementorProFrontendConfig = {“ajaxurl”:“
https://procee.com/wp-admin/admin-ajax.php”,“nonce”:“940de1446d”,“urls”:{“assets”:“https://procee.com/wp-content/plugins/elementor-pro/assets/”,“rest”:“https://procee.com/wp-json/”},“settings”:{“lazy_load_background_images”
},“popup”:{“hasPopUps”
},“shareButtonsNetworks”:{“facebook”:{“title”:“Facebook”,“has_counter”
},“twitter”:{“title”:“Twitter”},“linkedin”:{“title”:“LinkedIn”,“has_counter”
},“pinterest”:{“title”:“Pinterest”,“has_counter”
},“reddit”:{“title”:“Reddit”,“has_counter”
},“vk”:{“title”:“VK”,“has_counter”
},“odnoklassniki”:{“title”:“OK”,“has_counter”
},“tumblr”:{“title”:“Tumblr”},“digg”:{“title”:“Digg”},“skype”:{“title”:“Skype”},“stumbleupon”:{“title”:“StumbleUpon”,“has_counter”
},“mix”:{“title”:“Mix”},“telegram”:{“title”:“Telegram”},“pocket”:{“title”:“Pocket”,“has_counter”
},“xing”:{“title”:“XING”,“has_counter”
},“whatsapp”:{“title”:“WhatsApp”},“email”:{“title”:“Email”},“print”:{“title”:“Print”},“x-twitter”:{“title”:“X”},“threads”:{“title”:“Threads”}}, “facebook_sdk”:{“lang”:“en_US”,“app_id”:""},“lottie”:{“defaultAnimationUrl”:“
https://procee.com/wp-content/plugins/elementor-pro/modules/lottie/assets/animations/default.json”}}; //# sourceURL=elementor-pro-frontend-js-before {“baseUrl”:“
https://s.w.org/images/core/emoji/17.0.2/72x72/”,“ext”:“.png”,“svgUrl”:“https://s.w.org/images/core/emoji/17.0.2/svg/”,“svgExt”:“.svg”,“source”:{“concatemoji”:“https://procee.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0”}} /
! This file is auto-generated / const a=JSON.parse(document.getElementById(“wp-emoji-settings”).textContent),o=(window._wpemojiSettings=a,“wpEmojiSettingsSupports”),s=[“flag”,“emoji”];function i(e){try{var t={supportTests,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement(“script”);t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if(“object”==typeof e&&“number”==typeof e.timestamp&&(new Date).valueOf(){i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],“flag”!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji).wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://procee.com/wp-includes/js/wp-emoji-loader.min.js (function(){/ var jsonxhr = new XMLHttpRequest(); jsonxhr.onreadystatechange = function() { if (jsonxhr.readyState == 4 && jsonxhr.status == 200){ var allRegex = ”; for (var i in crawlersPatterns) allRegex+=crawlersPatterns[i].pattern+”|”; console.log(333, allRegex); } } jsonxhr.open(“GET”, “https://raw.githubusercontent.com/monperrus/crawler-user-agents/master/crawler-user-agents.json”, true); // true for asynchronous jsonxhr.send(null);/ var botPattern = “(Googlebot/|Googlebot-Mobile|Googlebot-Image|Googlebot-News|Googlebot-Video|AdsBot-Google([^-]|$)|AdsBot-Google-Mobile|Feedfetcher-Google|Mediapartners-Google|Mediapartners (Googlebot)|APIs-Google|bingbot|Slurp|[wW]get|LinkedInBot|Python-urllib|python-requests|aiohttp|httpx|libwww-perl|httpunit|nutch|Go-http-client|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|BIGLOTRON|Teoma|convera|seekbot|Gigabot|Gigablast|exabot|ia_archiver|GingerCrawler|webmon |HTTrack|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|findlink|msrbot|panscient|yacybot|AISearchBot|ips-agent|tagoobot|MJ12bot|woriobot|yanga|buzzbot|mlbot|YandexBot|YandexImages|YandexAccessibilityBot|YandexMobileBot|YandexMetrika|YandexTurbo|YandexImageResizer|YandexVideo|YandexAdNet|YandexBlogs|YandexCalendar|YandexDirect|YandexFavicons|YaDirectFetcher|YandexForDomain|YandexMarket|YandexMedia|YandexMobileScreenShotBot|YandexNews|YandexOntoDB|YandexPagechecker|YandexPartner|YandexRCA|YandexSearchShop|YandexSitelinks|YandexSpravBot|YandexTracker|YandexVertis|YandexVerticals|YandexWebmaster|YandexScreenshotBot|purebot|Linguee Bot|CyberPatrol|voilabot|Baiduspider|citeseerxbot|spbot|twengabot|postrank|TurnitinBot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|Ahrefs(Bot|SiteAudit)|fuelbot|CrunchBot|IndeedBot|mappydata|woobot|ZoominfoBot|PrivacyAwareBot|Multiviewbot|SWIMGBot|Grobbot|eright|Apercite|semanticbot|Aboundex|domaincrawler|wbsearchbot|summify|CCBot|edisterbot|seznambot|ec2linkfinder|gslfbot|aiHitBot|intelium_bot|facebookexternalhit|Yeti|RetrevoPageAnalyzer|lb-spider|Sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|arabot|WeSEE
|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|OrangeBot/|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|S[eE][mM]rushBot|yoozBot|lipperhey|Y!J|Domain Re-Animator Bot|AddThis|Screaming Frog SEO Spider|MetaURI|Scrapy|Livelap[bB]ot|OpenHoseBot|CapsuleChecker|
[email protected]|IstellaBot|DeuSu/|betaBot|Cliqzbot/|MojeekBot/|netEstate NE Crawler|SafeSearch microdata crawler|Gluten Free Crawler/|Sonic|Sysomos|Trove|deadlinkchecker|Slack-ImgProxy|Embedly|RankActiveLinkBot|iskanie|SafeDNSBot|SkypeUriPreview|Veoozbot|Slackbot|redditbot|datagnionbot|Google-Adwords-Instant|adbeat_bot|WhatsApp|contxbot|pinterest.com.bot|electricmonk|GarlikCrawler|BingPreview/|vebidoobot|FemtosearchBot|Yahoo Link Preview|MetaJobBot|DomainStatsBot|mindUpBot|Daum/|Jugendschutzprogramm-Crawler|Xenu Link Sleuth|Pcore-HTTP|moatbot|KosmioBot|[pP]ingdom|AppInsights|PhantomJS|Gowikibot|PiplBot|Discordbot|TelegramBot|Jetslide|newsharecounts|James BOT|Bark[rR]owler|TinEye|SocialRankIOBot|trendictionbot|Ocarinabot|epicbot|Primalbot|DuckDuckGo-Favicons-Bot|GnowitNewsbot|Leikibot|LinkArchiver|YaK/|PaperLiBot|Digg Deeper|dcrawl|Snacktory|AndersPinkBot|Fyrebot|EveryoneSocialBot|Mediatoolkitbot|Luminator-robots|ExtLinksBot|SurveyBot|NING/|okhttp|Nuzzel|omgili|PocketParser|YisouSpider|um-LN|ToutiaoSpider|MuckRack|Jamie’s Spider|AHC/|NetcraftSurveyAgent|Laserlikebot|^Apache-HttpClient|AppEngine-Google|Jetty|Upflow|Thinklab|Traackr.com|Twurly|Mastodon|http_get|DnyzBot|botify|007ac9 Crawler|BehloolBot|BrandVerity|check_http|BDCbot|ZumBot|EZID|ICC-Crawler|ArchiveBot|^LCC |filterdb.iss.net/crawler|BLP_bbot|BomboraBot|Buck/|Companybook-Crawler|Genieo|magpie-crawler|MeltwaterNews|Moreover|newspaper/|ScoutJet|(^| )sentry/|StorygizeBot|UptimeRobot|OutclicksBot|seoscanners|Hatena|Google Web Preview|MauiBot|AlphaBot|SBL-BOT|IAS crawler|adscanner|Netvibes|acapbot|Baidu-YunGuanCe|bitlybot|blogmuraBot|Bot.AraTurka.com|bot-pge.chlooe.com|BoxcarBot|BTWebClient|ContextAd Bot|Digincore bot|Disqus|Feedly|Fetch/|Fever|Flamingo_SearchEngine|FlipboardProxy|g2reader-bot|G2 Web Services|imrbot|K7MLWCBot|Kemvibot|Landau-Media-Spider|linkapediabot|vkShare|Siteimprove.com|BLEXBot/|DareBoost|ZuperlistBot/|Miniflux/|Feedspot|Diffbot/|SEOkicks|tracemyfile|Nimbostratus-Bot|zgrab|PR-CY.RU|AdsTxtCrawler|Datafeedwatch|Zabbix|TangibleeBot|google-xrawler|axios|Amazon CloudFront|Pulsepoint|CloudFlare-AlwaysOnline|Google-Structured-Data-Testing-Tool|WordupInfoSearch|WebDataStats|HttpUrlConnection|Seekport Crawler|ZoomBot|VelenPublicWebCrawler|MoodleBot|jpg-newsbot|outbrain|W3C_Validator|Validator.nu|W3C-checklink|W3C-mobileOK|W3C_I18n-Checker|FeedValidator|W3C_CSS_Validator|W3C_Unicorn|Google-PhysicalWeb|Blackboard|ICBot/|BazQux|Twingly|Rivva|Experibot|awesomecrawler|Dataprovider.com|GroupHigh/|theoldreader.com|AnyEvent|Uptimebot.org|Nmap Scripting Engine|2ip.ru|Clickagy|Caliperbot|MBCrawler|online-webceo-bot|B2B Bot|AddSearchBot|Google Favicon|HubSpot|Chrome-Lighthouse|HeadlessChrome|CheckMarkNetwork/|
www.uptime.com|Streamline3Bot/|serpstatbot/|MixnodeCache/|^curl|SimpleScraper|RSSingBot|Jooblebot|fedoraplanet|Friendica|NextCloud|Tiny Tiny RSS|RegionStuttgartBot|Bytespider|Datanyze|Google-Site-Verification|TrendsmapResolver|tweetedtimes|NTENTbot|Gwene|SimplePie|SearchAtlas|Superfeedr|feedbot|UT-Dorkbot|Amazonbot|SerendeputyBot|Eyeotabot|officestorebot|Neticle Crawler|SurdotlyBot|LinkisBot|AwarioSmartBot|AwarioRssBot|RyteBot|FreeWebMonitoring SiteChecker|AspiegelBot|NAVER Blog Rssbot|zenback bot|SentiBot|Domains Project/|Pandalytics|VKRobot|bidswitchbot|tigerbot|NIXStatsbot|Atom Feed Robot|Curebot|PagePeeker/|Vigil/|rssbot/|startmebot/|JobboerseBot|seewithkids|NINJA bot|Cutbot|BublupBot|BrandONbot|RidderBot|Taboolabot|Dubbotbot|FindITAnswersbot|infoobot|Refindbot|BlogTraffic/\d.\d+ Feed-Fetcher|SeobilityBot|Cincraw|Dragonbot|VoluumDSP-content-bot|FreshRSS|BitBot|^PHP-Curl-Class|Google-Certificates-Bridge|centurybot|Viber|e.ventures Investment Crawler|evc-batch|PetalBot|virustotal)”; var re = new RegExp(botPattern, ‘i’); if (re.test(navigator.userAgent)) return; function isUserLoggedIn() { // Get all the cookies var cookies = document.cookie; //console.log(cookies,88); // Check if the ‘wordpress_logged_in_’ cookie is set return cookies.indexOf(‘wordpress_logged_in’) !== -1; } function pq_logClick(link, currentLink){ if (isUserLoggedIn()){ console.log(‘pq_logClick skiped’) return; } var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { // console.log(xmlHttp.responseText,1); if (xmlHttp.responseText && xmlHttp.responseText.indexOf(‘“u”’) !== -1){ // console.log(xmlHttp.responseText,2); var uidField = document.getElementById(‘form-field-uid’); if (uidField){ document.getElementById(‘form-field-uid’).value = JSON.parse(xmlHttp.responseText).u; // console.log(document.getElementById(‘form-field-uid’).value,3); } } } }; xmlHttp.withCredentials = true; xmlHttp.open(‘GET’, ‘
https://app.procee.com/api/Clicker/Log?l=’ + encodeURIComponent(link) + “&c=” + encodeURIComponent(currentLink), true); // true for asynchronous xmlHttp.send(null); } window.addEventListener(‘load’, function() { pq_logClick(location.href, document.referrer); /* var linkElements = document.querySelectorAll(‘[href]’);// maybe filter by external links if there are any for (var i=0, max=linkElements.length; i < max; i++) { (function(elem){ var link = elem.getAttribute(‘href’); elem.addEventListener(‘click’, function(){pq_logClick(link, location.href);}); })(linkElements[i]); }*/ }, true); })();