Understanding the Procurement Process Steps with Procee

Updated 2026-05-27 · 5 min read

Introduction

This guide outlines the key steps of an organizational procurement process. Procee offers unparalleled flexibility, allowing you to customize these steps to fit your organization’s specific needs. Discover the advantages of using Procee to streamline your procurement operations.

Identifying the Need

The procurement journey starts with identifying a need, usually through employees or systems that can spot gaps and generate Material Requirement Planning (MRP) requests. Procee can seamlessly integrate these requests from your existing ERP system and initiate the necessary approval workflows.

Purchase Request (PR)

This is where the formal procurement process kicks off. Essential items are entered into a procurement request form. Pricing details are optional at this stage.

PR Approval workflow

The request is then directed through an approval workflow following the organization’s established policies.

Request for Proposal (RFP)

Once the purchase request is organized and approved, there are two options: either source the required items from the corporate warehouse or send the list to potential suppliers for price quotations.

Purchase Order (PO)

If the supplier, items, and their respective prices are already known (through a catalog or RFP), a purchase order is created. This purchase order specifies the supplier, purchase items, and budget considerations.

Purchase Order Approval Workflow

The purchase order is then routed through another approval workflow, as dictated by the organization’s policies. The workflow may involve completing forms and uploading relevant documents.

Dispatching the Purchase Order

At this stage, the purchase order is sent to the chosen supplier.

Execution

The supplier delivers the goods or performs the required services.

Purchase Invoice

Upon completion, the supplier issues an invoice, which can be sent through various channels such as email, mail, or a dedicated portal.

Account Reconciliation

The invoice is then matched with the accounts of the corresponding purchase order.

Packing Slip

For physical goods, the supplier provides a delivery certificate or packing slip.

Item Verification

This packing slip is matched with the items listed in the original purchase order.

Payment

Payment is then made to the supplier based on the invoice.

Closing the Loop

If a Proforma Invoice was initially sent by the supplier, a final tax invoice must be issued upon payment, closing out any outstanding invoices.

Customize with Procee

With Procee, you have the flexibility to tailor the procurement process to align perfectly with your organization’s unique requirements.

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”:“Understanding%20the%20Procurement%20Process%20Steps%20with%20Procee%20%E2%80%93%20Procee”,“excerpt”:"",“featuredImage”:“https://procee.com/wp-content/uploads/2022/09/udisamana_finance_9bea91dc-d600-418a-9e27-cca6aa36e632.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/understanding-the-procurement-process-steps-with-procee/”,“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); })();