<!-- OneTrust Cookies Consent Notice start for lightyear.cloud --> <script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="0197a69a-8630-7f3b-bd4c-caeb8c6dff1c" ></script> <script type="text/javascript"> (function () { // --- Script version 2.0 (21/05/2026) --- var RULES = [ { test: /\/\/(?:www\.)?youtube(?:-nocookie)?\.com\//i, groups: ["C0003"] }, { test: /\/\/youtubei\.googleapis\.com\//i, groups: ["C0003"] }, { test: /\/\/[is]\.ytimg\.com\//i, groups: ["C0003"] }, { test: /\/\/yt3\.ggpht\.com\//i, groups: ["C0003"] }, { test: /\/\/(?:player\.)?vimeo\.com\//i, groups: ["C0003"] }, { test: /\/\/[fi]\.vimeocdn\.com\//i, groups: ["C0003"] }, { test: /\/\/munchkin\.marketo\.net\//i, groups: ["C0004"] }, { test: /\/\/(?:cdn\.)?biz(?:ible|ibly)\.com\//i, groups: ["C0004"] }, { test: /\/\/adobedc\.net\//i, groups: ["C0004"] }, // OptinMonster - a, api and cdn subdomains { test: /\/\/(?:a|api|cdn)\.omappapi\.com\//i, groups: ["C0004"] }, { test: /\/\/tracker\.gaconnector\.com\//i, groups: ["C0004"] }, { test: /\/\/static\.hotjar\.com\//i, groups: ["C0004"] }, { test: /\/\/js\.hs-scripts\.com\//i, groups: ["C0004"] }, { test: /\/scripts\/custom-gclid\.js\//i, groups: ["C0004"] }, { test: /\/\/js\.hub(?:spot|sforms\.net|scta\.net|sadspixel\.net|s-analytics\.net|s-banner\.com)/i, groups: ["C0004"] }, { test: /\/\/(?:bat\.|c\.)?bing\.com(?:\/api)?\//i, groups: ["C0004"] }, { test: /\/\/clarity\.ms\//i, groups: ["C0004"] }, { test: /\/\/(?:www\.)?msn\.com(?:\/api)?\//i, groups: ["C0004"] }, { test: /\/\/(?:snap\.|px\.ads\.|www\.)?linkedin\.com(?:\/px)?\//i, groups: ["C0005"] }, { test: /\/\/platform\.linkedin\.com\//i, groups: ["C0005"] }, ]; var IFRAME_RULES = [ { test: /youtube(?:-nocookie)?\.com|youtu\.be/i, groups: ["C0003"] }, { test: /(?:player\.)?vimeo\.com/i, groups: ["C0003"] }, ]; var VIDEO_RULES = [ { test: /youtube(?:-nocookie)?\.com|youtu\.be/i, groups: ["C0003"] }, { test: /vimeo(?:cdn)?\.com|player\.vimeo\.com/i, groups: ["C0003"] }, { test: /(?:fast\.)?wistia\.com/i, groups: ["C0003"] }, { test: /(?:players\.)?brightcove\.com/i, groups: ["C0003"] }, { test: /vidyard\.com/i, groups: ["C0003"] }, { test: /jwp(?:layer|cdn)\.com/i, groups: ["C0003"] }, { test: /cloudinary\.com/i, groups: ["C0003"] }, { test: /streamable\.com/i, groups: ["C0003"] }, ]; var cookiePatterns = { C0003: [ /^YSC|^VISITOR_(?:INFO|PRIVACY)|^PREF|^GPS|^CONSENT|_Secure-ROLLOUT|^LOGIN_INFO|^SIDCC|^[HS]SID|^[AS]?APISID|^DEVICE_INFO|^CONSISTENCY|^(?:use_hitbox|remote_sid)/, /^vuid|^player|^_(?:abexps|gcl|calendly)|^continuous_play|^has_logged_in/, /calendly/, ], C0004: [ /gaconnector|_biz|_BUID|^_biz_(?:uid|nA|pendingA|sid|flagsA)|^m(?:kto|kt)_|^_mkto_trk|^__hs[ctscr]?|hubspot|_uet|MUID|_cl[ck]k|MSN/, // OptinMonster cookies /^_omappv[ps]|^om-|^omSeen-|^omSuccess-|^omFolders(?:Optin|Closed)|^omLast(?:Seen)|^omVisits/, ], C0005: [ /^li_|^lidc|^b[sc]cookie|^lang|^(?:Analytics)?SyncHistory|^UserMatchHistory/, ], }; function matchRule(src, rules) { rules = rules || RULES; for (var i = 0; i < rules.length; i++) if (rules[i].test.test(src)) return rules[i]; return null; } function hasConsent(req) { var g = (window.OneTrustActiveGroups || window.OnetrustActiveGroups || "").split(","); return req.every(function (id) { return g.indexOf(id) !== -1; }); } function isMunchkinNode(node) { return /\/\/munchkin\.marketo\.net\//i.test(node.getAttribute("data-gated-src") || node.getAttribute("src") || ""); } // --- Restore a blocked script element --- function restoreScript(node) { var replayQ = null; if (isMunchkinNode(node) && window.Munchkin && window.Munchkin.__otStub) { replayQ = window.Munchkin.__q ? window.Munchkin.__q.slice() : null; try { delete window.Munchkin; } catch (e) { window.Munchkin = undefined; } } var s = document.createElement("script"); ["src","async","defer","noModule","crossorigin","referrerpolicy","integrity","nonce"].forEach(function (a) { var v = node.getAttribute(a); if (v !== null) s.setAttribute(a, v); }); var t = node.getAttribute("type"); s.type = t && t !== "text/plain" ? t : "text/javascript"; if (node.onload) s.onload = node.onload; if (node.onerror) s.onerror = node.onerror; if (node.onreadystatechange) s.onreadystatechange = node.onreadystatechange; if (node.text && !s.src) s.text = node.text; if (isMunchkinNode(node) && replayQ) { s.addEventListener("load", function () { if (window.Munchkin && typeof window.Munchkin.init === "function") { replayQ.forEach(function (item) { var m = item[0]; if (typeof window.Munchkin[m] === "function") window.Munchkin[m].apply(window.Munchkin, item[1] || []); }); } }); } node.replaceWith(s); } function restoreAllEligible() { document.querySelectorAll('script.optanon-blocked[type="text/plain"][data-gated-src]').forEach(function (n) { var src = n.getAttribute("data-gated-src") || ""; var rule = matchRule(src); if (rule && hasConsent(rule.groups)) restoreScript(n); }); } // --- Video placeholder --- var videoIdCounter = 0; function createPlaceholder(type, uniqueId) { var el = document.createElement("div"); el.className = "optanon-video-placeholder"; if (uniqueId) el.id = "optanon-placeholder-" + uniqueId; el.style.cssText = "position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:20px;background:rgba(0,0,0,0.8);color:white;border-radius:5px;z-index:10;"; el.innerHTML = "<p>Video Consent Required</p><p>This " + type + " requires your consent to load content from third-party providers.</p>" + "<button onclick='window.OneTrust.ToggleInfoDisplay()' style='margin-top:15px;padding:12px 24px;background:#E4173F;color:white;border:none;border-radius:24px;cursor:pointer;font-size:16px;'>Manage Preferences</button>"; return el; } // --- Block / restore HTML5 video --- function blockVideo(video) { if (video.hasAttribute("data-blocked")) return; var src = video.getAttribute("src") || video.getAttribute("data-src") || ""; var sources = video.querySelectorAll("source"); var rule = matchRule(src, VIDEO_RULES); if (!rule) { for (var i = 0; i < sources.length && !rule; i++) rule = matchRule(sources[i].getAttribute("src") || "", VIDEO_RULES); } if (!rule && video.hasAttribute("data-require-consent")) rule = { groups: ["C0003"] }; if (!rule || hasConsent(rule.groups)) return; var uid = ++videoIdCounter; video.setAttribute("data-consent-required", rule.groups.join(",")); video.setAttribute("data-video-unique-id", uid); video.classList.add("optanon-blocked-video"); if (video.src) { video.setAttribute("data-blocked-src", video.src); video.removeAttribute("src"); } if (sources.length) { video.setAttribute("data-blocked-sources", JSON.stringify( Array.prototype.map.call(sources, function (s) { return { src: s.src, type: s.type, media: s.media }; }) )); while (video.firstChild) video.removeChild(video.firstChild); } Object.assign(video.style, { position: "relative", backgroundColor: "#f0f0f0", minHeight: video.style.height || "315px", minWidth: video.style.width || "560px" }); video.removeAttribute("autoplay"); video.removeAttribute("controls"); video.setAttribute("data-blocked", "true"); var ph = createPlaceholder("video", uid); if (video.parentElement) { if (!/(absolute|relative|fixed)/.test(video.parentElement.style.position)) video.parentElement.style.position = "relative"; video.parentElement.appendChild(ph); video.setAttribute("data-placeholder-id", ph.id); } } function restoreBlockedVideos() { document.querySelectorAll("video.optanon-blocked-video").forEach(function (video) { if (!hasConsent((video.getAttribute("data-consent-required") || "").split(","))) return; var phId = video.getAttribute("data-placeholder-id"); if (phId) { var ph = document.getElementById(phId); if (ph) ph.remove(); } video.parentElement && video.parentElement.querySelectorAll(".optanon-video-placeholder").forEach(function (p) { p.remove(); }); var bSrc = video.getAttribute("data-blocked-src"); if (bSrc) { video.src = bSrc; video.removeAttribute("data-blocked-src"); } var bSources = video.getAttribute("data-blocked-sources"); if (bSources) { try { JSON.parse(bSources).forEach(function (sd) { var s = document.createElement("source"); s.src = sd.src; if (sd.type) s.type = sd.type; if (sd.media) s.media = sd.media; video.appendChild(s); }); } catch (e) { console.error("Error parsing video sources:", e); } video.removeAttribute("data-blocked-sources"); } video.setAttribute("controls", "true"); ["data-blocked","data-consent-required","data-placeholder-id","data-video-unique-id"].forEach(function (a) { video.removeAttribute(a); }); video.classList.remove("optanon-blocked-video"); Object.assign(video.style, { backgroundColor: "", minHeight: "", minWidth: "", position: "" }); video.load(); }); document.querySelectorAll(".optanon-video-placeholder").forEach(function (ph) { var uid = ph.id.replace("optanon-placeholder-", ""); var vid = document.querySelector('[data-video-unique-id="' + uid + '"]'); if (!vid || !vid.hasAttribute("data-blocked")) ph.remove(); }); } // --- Block / restore iframes --- function blockIframe(iframe) { var src = iframe.getAttribute("src") || iframe.getAttribute("data-src") || ""; var rule = matchRule(src, IFRAME_RULES); if (!rule || hasConsent(rule.groups)) return; if (iframe.src) { iframe.setAttribute("data-blocked-src", iframe.src); iframe.removeAttribute("src"); } iframe.setAttribute("data-consent-required", rule.groups.join(",")); iframe.classList.add("optanon-blocked-iframe"); iframe.style.cssText += "background-color:#f0f0f0;min-height:" + (iframe.style.minHeight || "315px") + ";"; var ph = createPlaceholder("video"); if (iframe.parentElement) { if (!/(absolute|relative)/.test(iframe.parentElement.style.position)) iframe.parentElement.style.position = "relative"; iframe.parentElement.appendChild(ph); iframe.setAttribute("data-placeholder-id", ph.className); } } function restoreBlockedIframes() { document.querySelectorAll("iframe.optanon-blocked-iframe").forEach(function (iframe) { var bSrc = iframe.getAttribute("data-blocked-src"); if (!bSrc || !hasConsent((iframe.getAttribute("data-consent-required") || "").split(","))) return; var ph = iframe.parentElement && iframe.parentElement.querySelector(".optanon-video-placeholder"); if (ph) ph.remove(); iframe.src = bSrc; ["data-blocked-src","data-consent-required"].forEach(function (a) { iframe.removeAttribute(a); }); iframe.classList.remove("optanon-blocked-iframe"); iframe.style.backgroundColor = ""; iframe.style.minHeight = ""; }); } // --- Dynamic iframe src interception --- var _origCreateElement = document.createElement; document.createElement = function (tag) { var el = _origCreateElement.call(document, tag); if (tag.toLowerCase() === "iframe") { var desc = Object.getOwnPropertyDescriptor(el, "src") || Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "src"); Object.defineProperty(el, "src", { get: function () { return this.getAttribute("src"); }, set: function (v) { var rule = matchRule(v, IFRAME_RULES); if (rule && !hasConsent(rule.groups)) { this.setAttribute("data-blocked-src", v); this.classList.add("optanon-blocked-iframe"); this.setAttribute("data-consent-required", rule.groups.join(",")); } else { desc.set.call(this, v); } }, configurable: true, }); } return el; }; // --- DOM insertion hooks --- ["appendChild", "insertBefore", "replaceChild"].forEach(function (m) { var orig = Node.prototype[m]; Node.prototype[m] = function (child) { if (child) { if (child.tagName === "IFRAME") { try { blockIframe(child); } catch (e) {} } else if (child.tagName === "VIDEO") { try { blockVideo(child); } catch (e) {} } } var result = orig.apply(this, arguments); if (child) { if (child.tagName === "IFRAME") setTimeout(function () { blockIframe(child); }, 0); else if (child.tagName === "VIDEO") setTimeout(function () { blockVideo(child); }, 0); } return result; }; }); // MutationObserver for innerHTML insertions var mediaObserver = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { mutation.addedNodes.forEach(function (node) { if (node.tagName === "IFRAME") blockIframe(node); else if (node.tagName === "VIDEO") blockVideo(node); if (node.querySelectorAll) { node.querySelectorAll("iframe").forEach(blockIframe); node.querySelectorAll("video").forEach(blockVideo); } }); }); }); function startObserving() { mediaObserver.observe(document.body, { childList: true, subtree: true }); blockExistingMedia(); } function blockExistingMedia() { document.querySelectorAll("iframe").forEach(blockIframe); document.querySelectorAll("video").forEach(blockVideo); } document.body ? startObserving() : document.addEventListener("DOMContentLoaded", startObserving); // --- Tracking pixel blocking --- var PIXEL_DOMAINS = /bizible\.com|bizibly\.com|adobedc\.net/; function blockPixel(img) { var src = img.src || img.getAttribute("src") || ""; if (PIXEL_DOMAINS.test(src) && !hasConsent(["C0004"])) { img.setAttribute("data-blocked-src", src); img.removeAttribute("src"); img.style.display = "none"; } } var pixelObserver = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { mutation.addedNodes.forEach(function (node) { if (node.tagName === "IMG") blockPixel(node); }); }); }); if (document.body) { pixelObserver.observe(document.body, { childList: true, subtree: true }); document.querySelectorAll("img").forEach(blockPixel); } // --- Custom video click-to-load interception --- function interceptVideoButtons() { document.querySelectorAll(".js-video[data-video-url], .video[data-video-url]").forEach(function (container) { var videoUrl = container.getAttribute("data-video-url"); if (!videoUrl) return; var groups = /youtube\.com|youtu\.be/.test(videoUrl) ? ["C0003"] : /vimeo\.com/.test(videoUrl) ? ["C0003"] : null; if (!groups || hasConsent(groups)) return; var btn = container.querySelector('.js-videoPlay, button[type="button"]'); if (!btn || btn.getAttribute("data-consent-required")) return; var origOnclick = btn.onclick; btn.setAttribute("data-consent-required", groups.join(",")); btn.onclick = function (e) { e.preventDefault(); e.stopPropagation(); if (hasConsent(groups)) { if (origOnclick) origOnclick.call(this, e); } else showVideoConsentModal(container, groups); return false; }; var _origAEL = btn.addEventListener; btn.addEventListener = function (type, listener, opts) { _origAEL.call(this, type, type !== "click" ? listener : function (e) { if (!hasConsent(groups)) { e.preventDefault(); e.stopPropagation(); showVideoConsentModal(container, groups); return false; } return listener.call(this, e); }, opts); }; }); } function showVideoConsentModal(container, groups) { var existing = container.querySelector(".optanon-video-consent-modal"); if (existing) { existing.style.display = "block"; return; } var modal = document.createElement("div"); modal.className = "optanon-video-consent-modal"; modal.style.cssText = "position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:1000;"; modal.innerHTML = '<div style="background:white;padding:30px;border-radius:8px;text-align:center;max-width:400px;margin:10% auto;">' + '<h3 style="margin:0 0 15px 0;color:#111;">Video consent required</h3>' + '<p style="margin:0 0 20px 0;color:#111;">This video requires your consent to load content from third-party providers.</p>' + '<button onclick="window.OneTrust.ToggleInfoDisplay()" style="padding:12px 24px;background:#E4173F;color:white;border:none;border-radius:24px;cursor:pointer;font-size:16px;margin-right:10px;">Manage preferences</button>' + '<button onclick="this.closest(\'.optanon-video-consent-modal\').style.display=\'none\'" style="padding:12px 24px;background:#F7F7F7;color:#111;border:none;border-radius:24px;cursor:pointer;font-size:16px;">Cancel</button>' + '</div>'; container.style.position = "relative"; container.appendChild(modal); } function recheckVideoButtons() { document.querySelectorAll("[data-consent-required]").forEach(function (btn) { if (hasConsent((btn.getAttribute("data-consent-required") || "").split(","))) { var container = btn.closest(".js-video, .video"); if (container) { var m = container.querySelector(".optanon-video-consent-modal"); if (m) m.remove(); } } }); } document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", function () { setTimeout(interceptVideoButtons, 100); }) : setTimeout(interceptVideoButtons, 100); setInterval(interceptVideoButtons, 2000); // --- Script blocking via DOM insertion hooks --- function handleScript(node) { var src = node.getAttribute("src") || ""; var rule = matchRule(src); if (!rule || hasConsent(rule.groups)) return; node.setAttribute("data-gated-src", src); node.type = "text/plain"; node.classList.add("optanon-blocked"); } ["appendChild", "insertBefore"].forEach(function (m) { var orig = Node.prototype[m]; Node.prototype[m] = function (child) { if (child && child.tagName === "SCRIPT") { try { handleScript(child); } catch (e) {} } return orig.apply(this, arguments); }; }); // --- Patch document.write / writeln --- function gateHtml(html) { return String(html).replace( /<script\b([^>]*?)\bsrc\s*=\s*(['"])([^'"]+)\2([^>]*)>(?:<\/script>)?/gi, function (_m, pre, q, src, post) { var rule = matchRule(src || ""); if (!rule || hasConsent(rule.groups)) return _m; var attrs = ((pre || "") + " src=" + q + src + q + (post || "")).replace(/\btype\s*=\s*(['"])[^'"]*\1/gi, ""); attrs += ' type="text/plain" class="optanon-blocked" data-gated-src="' + src.replace(/"/g, "&quot;") + '"'; return "\<script " + attrs + "\>\<\/script\>"; } ); } ["write", "writeln"].forEach(function (m) { var orig = document[m]; document[m] = function () { return orig.call(document, gateHtml(Array.prototype.join.call(arguments, ""))); }; }); // --- Cookie blocking --- var _origCookie = Object.getOwnPropertyDescriptor(Document.prototype, "cookie"); var _origPostMessage = window.postMessage; window.postMessage = function (msg, origin) { if (origin && origin.includes("youtube.com") && !hasConsent(["C0003"])) return; return _origPostMessage.apply(this, arguments); }; Object.defineProperty(Document.prototype, "cookie", { get: function () { return _origCookie.get.call(this); }, set: function (value) { var name = value.split("=")[0].trim(); if (name.startsWith("OptAnon")) return _origCookie.set.call(this, value); if (name === "__cf_bm" || name === "_cf_bm") return _origCookie.set.call(this, value); // Allow VWO cookies — consent managed by VWO's built-in feature if (name.startsWith("_vis_opt") || name.startsWith("_vwo")) return _origCookie.set.call(this, value); for (var cat in cookiePatterns) { if (!hasConsent([cat])) { for (var i = 0; i < cookiePatterns[cat].length; i++) if (cookiePatterns[cat][i].test(name)) return; } } return _origCookie.set.call(this, value); }, configurable: true, }); // --- Storylane consent notify --- function notifyStorylaneConsent() { if (!hasConsent(["C0003"])) return; document.querySelectorAll("iframe[name='sl-embed']").forEach(function (sl) { try { sl.contentWindow && sl.contentWindow.postMessage({ message: "storylane-cookie-consent" }, "*"); } catch (e) {} }); } // --- Consent change handler --- window.addEventListener("OneTrustGroupsUpdated", function () { restoreAllEligible(); restoreBlockedIframes(); restoreBlockedVideos(); recheckVideoButtons(); notifyStorylaneConsent(); }); document.querySelectorAll("script[src]").forEach(function (n) { try { handleScript(n); } catch (e) {} }); restoreAllEligible(); notifyStorylaneConsent(); // --- Munchkin stub --- if (!window.Munchkin) { var MK = function () {}; MK.__otStub = true; MK.__q = []; MK.init = function () { MK.__q.push(["init", Array.prototype.slice.call(arguments)]); }; window.Munchkin = MK; } })(); function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for lightyear.cloud --> ​Gartner Front Runners - Best Value Accounts Payable Software 2020
Free trial
News & Events

​Gartner Front Runners - Best Value Accounts Payable Software 2020

Gartner are a global research and advisory firm providing some of the best and most relevant information, advice, and tools for leaders in IT, finance, HR, customer service and support, communications, legal and compliance, marketing, sales, and supply chain functions.

News

Posted 22/04/2025

​Gartner Front Runners -

Lightyear named as front-runner

Recently Gartner have released their findings on the best Accounts Payables businesses/software for this year and as you can see within the graph below, Lightyear has been named as the front runner coming in leagues ahead of companies like Spendesk, MineralTree and ProcurementExpress.com. We are unbeaten in terms of our usability and our value for money which can clearly be seen within the report.

Another category that we outstripped the competition in is customer satisfaction. Lightyear are a 5* rated company with a 98% satisfaction score across multiple platforms including QBO, Xero, Netsuite and Capterra. All our customers love how easy the entire transition process is and appreciate the level and quality of the support we provide.

front runner


 

The Lightyear team are super helpful and supportive. Can't recommend Lightyear highly enough!

Nicole McLean

gartner quadrant

The data collected is from honest reviews left by real customers, public data sources and data from technology vendors. 

In order to qualify the individual companies involved must;

  • Have reached at least 20 unique reviews within 24 months, 
  • Be a standalone Accounts Payable software product and,
  • Offer at minimum these features:
    • Approval Process Control
    • Invoice Processing
    • Vendor Management

The Customer Satisfaction score is a weighted average based on three distinct criteria from user reviews; value for money, likelihood to recommend and customer support. Whereas the Usability score is a weighted average based on two ratings, functionality and ease of use.

This report can be extremely beneficial if you or your company are looking to transition to a cloud based automated solution for your Accounts Payables team and need to know which is the best solution. This report can help you discover which software provider can meet your needs, especially if you are conscious of cost, ease of use and functionality. As the rankings are based on actual customer reviews you can see clearly how satisfied other customers are with the individual products and make a more informed decision.

See the benefits Lightyear can bring your company

Chat to us today on +44 2896 002357 (UK) | +61 2 9134 8585 (AU)