CINXE.COM

FreshBooks

<!DOCTYPE html><html lang="en" class="l-inflate"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>FreshBooks</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="mui/config/environment" content="%7B%22oauth%22%3A%7B%22clientId%22%3A%22cf49dbc6aba9b38bb5d3dd5791e39a5e5282ddf70bb82d0ce64f298e1fce7d3c%22%2C%22redirectUri%22%3A%22https%3A%2F%2Fmy.dev.freshenv.com%2Foauth-callback.html%22%2C%22responseType%22%3A%22code%22%2C%22scope%22%3A%22admin%3Aall%22%2C%22host%22%3A%22https%3A%2F%2Fauth.dev.freshenv.com%22%2C%22tokenPath%22%3A%22%2Foauth%2Ftoken%22%2C%22authorizePath%22%3A%22%2Foauth%2Fauthorize%22%2C%22revokePath%22%3A%22%2Foauth%2Frevoke%22%2C%22sessionLogoutPath%22%3A%22%2Fintegrations%2Fsign_out%22%2C%22verifyPath%22%3A%22%2Fintegrations%2Fconfirm%22%7D%2C%22moment%22%3A%7B%22outputFormat%22%3A%22MM%2FDD%2FYY%22%7D%2C%22modulePrefix%22%3A%22mui%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22defaultBaseCurrency%22%3A%22USD%22%2C%22defaultLanguage%22%3A%22en%22%2C%22dropboxChooserAppKey%22%3A%22ilns78hqhu7pf0u%22%2C%22publicApiUrl%22%3A%22https%3A%2F%2Fapi.dev.freshenv.com%22%2C%22publicGcsUrl%22%3A%22https%3A%2F%2Fstorage.googleapis.com%2Ffreshbooks-prod-opus-ui%22%2C%22fundboxDashboardUrl%22%3A%22https%3A%2F%2Fapp.fundbox.com%2Flogin%22%2C%22fundboxFAQUrl%22%3A%22https%3A%2F%2Fwww.freshbooks.com%2Fblog%2Ffreshbooks-fundbox%22%2C%22fundboxPostmessagePath%22%3A%22assets%2Fstatic-views%2Ffundbox%2Ffundbox-callback.html%22%2C%22directDebitFAQUrl%22%3A%22https%3A%2F%2Fsupport.freshbooks.com%2Fhc%2Fen-us%2Farticles%2F360044124791-How-do-I-enable-BACS-Direct-Debit-on-my-Invoices-UK-%22%2C%22locationType%22%3A%22hash%22%2C%22podModulePrefix%22%3A%22mui%2Fpods%22%2C%22zendeskUrl%22%3A%22https%3A%2F%2Fsupport.freshbooks.com%2Fhc%2Fen-us%22%2C%22zendeskRequestUrl%22%3A%22https%3A%2F%2Fsupport.freshbooks.com%2Fhc%2Fen-us%2Frequests%2Fnew%22%2C%22appStoreBaseUrl%22%3A%22https%3A%2F%2Fappstore.freshbooks.com%2F%22%2C%22smartMatchLearnMoreUrl%22%3A%22https%3A%2F%2Fsupport.freshbooks.com%2Fhc%2Fen-us%2Farticles%2F360018707271%22%2C%22xApiVersion%22%3A%222023-02-20%22%2C%22manualJournalEntryXApiVersion%22%3A%222023-09-25%22%2C%22zendesk%22%3A%7B%22host%22%3A%22freshbooks.zendesk.com%22%7D%2C%22friendbuy%22%3A%7B%22merchantId%22%3A%227b5fac28-19d7-402c-aa96-4ce4288bea24%22%7D%2C%22googleRecaptchaToken%22%3A%7B%22sitekey%22%3A%226Lejii0qAAAAAPVznFDxOh1jRulxWh8YCg24dw8s%22%7D%2C%22ember-g-recaptcha%22%3A%7B%22sitekey%22%3A%226Ld61yEUAAAAACXCzpykSLyW36CKGmiawd6Ki5u_%22%7D%2C%22PER_PAGE%22%3A20%2C%22EmberENV%22%3A%7B%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22String%22%3Afalse%7D%2C%22LOG_STACKTRACE_ON_DEPRECATION%22%3Afalse%2C%22FEATURES%22%3A%7B%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22mui%22%2C%22version%22%3A%220.0.0%2Bde9119ef%22%7D%2C%22featureFlags%22%3A%7B%22ENABLE_PATTERNS%22%3Afalse%2C%22ENABLE_OPUS_CONCEPT_CAR%22%3Afalse%2C%22ENABLE_STRIPE_CAPABILITIES%22%3Atrue%2C%22ENABLE_PAYMENT_LINK%22%3Afalse%2C%22ENABLE_PAY_OUTSTANDING_BALANCES_SAVE_CREDIT_CARD%22%3Afalse%2C%22ENABLE_PAY_OUTSTANDING_BALANCES_DIRECT_DEBIT%22%3Afalse%2C%22ENABLE_PAY_OUTSTANDING_BALANCES_PAYPAL%22%3Afalse%2C%22ENABLE_APP_LISTING_STATUS_PILL%22%3Afalse%2C%22ENABLE_INTEGRATIONS_RECOMMENDED_APPS%22%3Atrue%7D%2C%22includeDirByFlag%22%3A%7B%22ENABLE_PATTERNS%22%3A%5B%22routes%2Fpatterns%22%2C%22templates%2Fpatterns%22%2C%22controllers%2Fpatterns%22%5D%7D%2C%22shareASale%22%3A%7B%22merchantId%22%3A52946%7D%2C%22clientImportLearnMoreUrl%22%3A%22https%3A%2F%2Ffreshbooks.zendesk.com%2Fhc%2Fen-us%2Farticles%2F360003248452%22%2C%22braintree%22%3A%7B%22authorization%22%3A%22sandbox_fwwh2qch_qnr7p5qv9gdsttyz%22%7D%2C%22ember-a11y-testing%22%3A%7B%22componentOptions%22%3A%7B%22turnAuditOff%22%3Atrue%7D%7D%2C%22ember-froala-editor%22%3A%7B%22key%22%3A%226LF5g1D3F3C2C6C4D3F3xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3D2G3A15A13A12C5B1%3D%3D%22%7D%2C%22pendo%22%3A%7B%22apiKey%22%3A%22449ba727-1632-4333-780d-825cdee3f2d3%22%7D%2C%22fundbox%22%3A%7B%22clientId%22%3A%2263f207d7fef8ed565566b9ae143b5dd9d8f9084d9db844013a6913676306a8af%22%2C%22minisiteUrl%22%3A%22https%3A%2F%2Fminisite-frbsandbox.fundbox.com%22%2C%22oauthRedirectUrl%22%3A%22https%3A%2F%2Fapp-frbsandbox.fundbox.com%2Fnewfrb_access_token%22%7D%2C%22onesaas%22%3A%7B%22clientId%22%3A%2284c6d08b961a638b9557b4f07090bbf7f59260d2a211e2a609a6997529143685%22%2C%22minisiteUrl%22%3A%22https%3A%2F%2Fsandbox.onesaas.com%2Fstart%2Ffreshbooks%2Fprovision%22%2C%22disconnectUrl%22%3A%22https%3A%2F%2Fsandbox.onesaas.com%2Fstart%2Ffreshbooks%2Fdisconnectandclose%22%2C%22oauthRedirectUrl%22%3A%7B%22xero%22%3A%22https%3A%2F%2Fsandbox.onesaas.com%2Fstart%2Ffreshbooks%2Fprovision%3Fkeyname%3Dxero%22%2C%22quickbooksonline%22%3A%22https%3A%2F%2Fsandbox.onesaas.com%2Fstart%2Ffreshbooks%2Fprovision%3Fkeyname%3Dquickbooksonline%22%7D%2C%22localDevConfig%22%3A%7B%22clientId%22%3A%2297e70860d62b744c88fef94a6fbeceb4f067629a0275335f41d83bc98c652261%22%2C%22minisiteUrl%22%3A%22https%3A%2F%2Flocaldev.onesaas.com%3A9090%2Fstart%2Ffreshbooks%2Fprovision%22%2C%22disconnectUrl%22%3A%22https%3A%2F%2Flocaldev.onesaas.com%3A9090%2Fstart%2Ffreshbooks%2Fdisconnectandclose%22%2C%22oauthRedirectUrl%22%3A%7B%22xero%22%3A%22https%3A%2F%2Flocaldev.onesaas.com%3A9090%2Fstart%2Ffreshbooks%2Fprovision%3Fkeyname%3Dxero%22%2C%22quickbooksonline%22%3A%22https%3A%2F%2Flocaldev.onesaas.com%3A9090%2Fstart%2Ffreshbooks%2Fprovision%3Fkeyname%3Dquickbooksonline%22%7D%7D%7D%2C%22traceSamplingRate%22%3A0.01%2C%22APP_LISTING_BASE_URL%22%3A%22https%3A%2F%2Fappstore.freshbooks.com%2Fdetails%2F%22%2C%22datadog%22%3A%7B%22rumApplicationId%22%3A%22fe4d2e33-94b5-4b68-a322-1e4589fd0dcf%22%2C%22clientToken%22%3A%22pub40dc9587fc10f92b7a1bfc9e541ecb41%22%2C%22site%22%3A%22us5.datadoghq.com%22%2C%22service%22%3A%22magnum-ui%22%2C%22environment%22%3A%7B%22my.freshbooks.com%22%3A%7B%22name%22%3A%22production%22%2C%22sampleRate%22%3A1%7D%2C%22my.staging.freshenv.com%22%3A%7B%22name%22%3A%22staging%22%2C%22sampleRate%22%3A50%7D%2C%22my.staging.gcp.fbks.in%22%3A%7B%22name%22%3A%22staging%22%2C%22sampleRate%22%3A50%7D%7D%7D%2C%22paypal%22%3A%7B%22clientId%22%3A%22AfC2vBpOdei6ZBhWC7SMyBO78cdUnca-3EGMx5LKDNOnuSnq2XH87MhzHklrIhiTHn4j0e9lhCaT8FAK%22%7D%2C%22stripe%22%3A%7B%22clientId%22%3A%22ca_2Xxei87MP0eJD0sY4NgjIYVNvPUGXHzd%22%2C%22publishableKey%22%3A%22pk_test_fmuoSUXa2iWzn8qnHZ9DdpOf%22%2C%22apiVersion%22%3A%222023-10-16%22%7D%2C%22wepay%22%3A%7B%22clientId%22%3A%22190439%22%2C%22environment%22%3A%22stage%22%2C%22applePayMerchantId%22%3A%22merchant.com.freshbooks.wepay.staging%22%2C%22accountId%22%3A213628370%7D%2C%22plaid%22%3A%7B%22clientId%22%3A%225b76cca9c834010013d105dd%22%2C%22publicKey%22%3A%2275f78f70b0139ebf0bf4f615c6bd3d%22%2C%22env%22%3A%22sandbox%22%2C%22paymentsEnv%22%3A%22sandbox%22%7D%2C%22ada%22%3A%7B%22cluster%22%3A%22maple%22%2C%22handle%22%3A%22freshbooksbot%22%2C%22source%22%3A%22https%3A%2F%2Fstatic.ada.support%2Fembed2.js%22%2C%22testMode%22%3Afalse%7D%2C%22secureFreshbooksURL%22%3A%22https%3A%2F%2Fsecure.freshbooks.com%2F%22%2C%22paymentFormBaseUrl%22%3A%22https%3A%2F%2Fpaid.staging.freshenv.com%22%2C%22name%22%3A%22production%22%2C%22authStrategy%22%3A%22test%22%2C%22authToken%22%3A%22me%22%2C%22publicURL%22%3A%22https%3A%2F%2Fwww.freshbooks.com%2F%22%2C%22enableGTM%22%3Atrue%2C%22googleTagManager%22%3A%7B%22name%22%3A%22gtmDl%22%2C%22container%22%3A%22GTM-MCH68J%22%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22ember-modal-dialog%22%3A%7B%7D%7D"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> <link rel="preconnect" href="https://static.zdassets.com" crossorigin=""> <link rel="stylesheet" href="/assets/vendor.8f459ea21c8f5208c979615bd49e5754.css"> <link rel="stylesheet" href="/assets/mui.f480e89bf569d0162a6a2b7a59a14805.css"> <link rel="icon" href="assets/favicon.ico?v=20201013" type="image/x-icon"> <link rel="preload" href="assets/fonts/fresh-icons.woff?v=0.60.0" as="font" type="font/woff" crossorigin=""> <link rel="preload" href="assets/fonts/font-awesome/fontawesome-webfont.af7ae505a9eed503f8b8.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preload" href="assets/fonts/freshbooks-icons/freshbooksicons-regular-webfont.04321b1752d65011aa3b.woff" as="font" type="font/woff" crossorigin=""> <link rel="preload" href="assets/fonts/founders-grotesk/founders-grotesk-medium.2e0018da6bbcae1bd14b.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"> <script> window["friendbuyAPI"] = friendbuyAPI = window["friendbuyAPI"] || []; // registers your merchant using your merchant ID found in the // retailer app https://retailer.fbot.me/settings/general friendbuyAPI.push(['merchant', '7b5fac28-19d7-402c-aa96-4ce4288bea24']); // load the merchant SDK and your campaigns (function (f, r, n, d, b, u, y) { while ((u = n.shift())) { (b = f.createElement(r)), (y = f.getElementsByTagName(r)[0]); b.defer = 1; b.src = u; y.parentNode.insertBefore(b, y); } })(document, "script", [ "https://static.fbot.me/friendbuy.js", "https://campaign.fbot.me/7b5fac28-19d7-402c-aa96-4ce4288bea24/campaigns.js", ]); </script> <link href="/assets/chunk.a0fc9ed05464791c9f50.css" rel="stylesheet"></head> <body class="l-inflate"> <div class="js-unsupported-browser-ie" style="display: none"> <!--[if lte IE 9]> </div><div> <![endif]--> <div style="position: fixed; z-index: 1000000; width: 100%; height: 100%; background-color: #0075dd; text-align: center; font-size: 18px; line-height: 24px; overflow: auto; padding-bottom: 100px;"> <img src="/assets/images/freshbooks-logo-white-with-green-leaf-160px.cedefbd5229679c877e7.svg" width="350" style="margin: 100px 25px 25px" alt="FreshBooks Logo"> <div style="margin: auto; max-width: 674px"> <div style="background: white; border: 2px solid #cdd4d9; border-radius: 5px; padding: 30px"> <h2 style="font-size: 30px; line-height: 36px; color: #0075dd;">Please Upgrade Your Browser To<br>Continue Using FreshBooks</h2> <div style="margin: 20px 0">FreshBooks uses the latest web technologies to deliver the best experience for our customers. Unfortunately, the browser you're using doesn't support these technologies. To continue, please download one of these browsers.</div> <table cellspacing="0" cellpadding="0" width="100%"> <tbody><tr> <td style="width: 50%"> <h4>We recommend</h4> <a href="https://www.google.com/chrome" style="display: block; margin: 10px 0 5px"> <img src="assets/images/browser-icons/chrome.b745fc465263f9010fe7.png" width="110" height="110" alt="Google Chrome"> </a> <a href="https://www.google.com/chrome">Google Chrome</a> </td> <td style="width: 50%"> <h4>We also support</h4> <div style="margin: 40px 0 25px; text-align: bottom"> <a href="http://www.mozilla.org/en-US/firefox"> <img src="assets/images/browser-icons/firefox.8f96aa2991353f798ac1.png" width="64" height="64" alt="Firefox"> </a> <a href="http://www.apple.com/safari"> <img src="assets/images/browser-icons/safari.d094d4cb273e9e1eaf83.png" width="64" height="64" alt="Safari"> </a> </div> <div> <a href="http://www.mozilla.org/en-US/firefox">Firefox</a>, <a href="http://www.apple.com/safari">Safari</a> </div> </td> </tr> </tbody></table> </div> </div> </div> </div> <div class="js-unsupported-browser" style="display: none"> <div style="position: fixed; z-index: 1000000; width: 100%; height: 100%; background-color: #0075dd; text-align: center; font-size: 18px; line-height: 24px; overflow: auto; padding-bottom: 100px;"> <img src="/assets/images/freshbooks-logo-white-with-green-leaf-160px.cedefbd5229679c877e7.svg" width="200" style="margin: 100px 25px 25px" alt="FreshBooks Logo"> <div style="margin: auto; width: 650px"> <div style="background: white; border: 2px solid #cdd4d9; border-radius: 5px; padding: 30px"> <h2 style="font-size: 30px; line-height: 36px; color: #0075dd;">Please Upgrade Your Browser To<br>Continue Using FreshBooks</h2> <div style="margin: 20px 0">FreshBooks uses the latest web technologies to deliver the best experience for our customers. Unfortunately, the browser you're using doesn't support these technologies. To continue, please upgrade your browser.</div> <div class="js-unsupported-browser-message" style="margin: 20px 0; font-weight: bold"></div> <div style="margin: 20px 0"> <a href="https://support.freshbooks.com/hc/en-us/articles/360003047891-Which-Web-Browsers-Can-I-Use-With-FreshBooks-" target="_blank" class="link link--underlined"> Which web browsers can I use with FreshBooks? </a> </div> </div> </div> </div> </div> <script type="text/javascript"> // IE11 makes itself harder to detect and calls itself Trident if (window.navigator.userAgent.match(/MSIE/) || window.navigator.userAgent.match(/Trident/)) { document.querySelector('.js-unsupported-browser-ie').style.display = ''; } </script> <script src="/assets/vendor.5abe237c88b561ca4d2294bd7868d085.js"></script> <script src="/assets/chunk.0b563365b3afed06b3b2.js"></script> <script src="/assets/chunk.a0fc9ed05464791c9f50.js"></script> <script defer="" src="//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script> <script> window.adaSettings = { handle: "freshbooksbot", cluster: "maple", conversationEndCallback: (event) => { document.getElementById('ada-button-frame').style.display = 'none'; }, testMode: false, toggleCallback: (isDrawerOpen) => { document.getElementById('ada-button-frame').style.bottom = '80px'; document.getElementById('ada-button-frame').style.right = '-15px'; localStorage.setItem('ada-opened', isDrawerOpen); }, adaReadyCallback: () => { if (localStorage.getItem('ada-opened') === 'true') { window.adaEmbed.toggle(); } }, crossWindowPersistence: true, }; </script> <script id="__ada" data-handle="freshbooksbot" data-lazy="" src="https://static.ada.support/embed2.js"></script> <script> window.adaEmbed .start(window.adaSettings) .then(() => { document.getElementById('ada-button-frame').style.display = 'none'; document.getElementById('ada-button-frame').style.bottom = '80px'; document.getElementById('ada-button-frame').style.right = '-15px'; }) </script> <script> window['_fs_debug'] = false; window['_fs_host'] = 'fullstory.com'; window['_fs_script'] = 'edge.fullstory.com/s/fs.js'; window['_fs_org'] = 'z10'; window['_fs_namespace'] = 'FS'; (function(m,n,e,t,l,o,g,y){ if (e in m) {if(m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].');} return;} g=m[e]=function(a,b,s){g.q?g.q.push([a,b,s]):g._api(a,b,s);};g.q=[]; o=n.createElement(t);o.defer=1;o.crossOrigin='anonymous';o.src='https://'+_fs_script; y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y); g.identify=function(i,v,s){g(l,{uid:i},s);if(v)g(l,v,s)};g.setUserVars=function(v,s){g(l,v,s)};g.event=function(i,v,s){g('event',{n:i,p:v},s)}; g.anonymize=function(){g.identify(!!0)}; g.shutdown=function(){g("rec",!1)};g.restart=function(){g("rec",!0)}; g.log = function(a,b){g("log",[a,b])}; g.consent=function(a){g("consent",!arguments.length||a)}; g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v)}; g.clearUserCookie=function(){}; g.setVars=function(n, p){g('setVars',[n,p]);}; g._w={};y='XMLHttpRequest';g._w[y]=m[y];y='fetch';g._w[y]=m[y]; if(m[y])m[y]=function(){return g._w[y].apply(this,arguments)}; g._v="1.3.0"; })(window,document,window['_fs_namespace'],'script','user'); </script> <script type="text/javascript"> var count = 0; var intervalId; var addGoogleScript = function() { var scriptElement = document.createElement("script"); scriptElement.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.defer=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','gtmDl','GTM-MCH68J'); var gtmDl = gtmDl || []; `; document.getElementsByTagName("body")[0].appendChild(scriptElement); clearInterval(intervalId); return true; count++; if (count > 6) { clearInterval(intervalId); } }; intervalId = setInterval(addGoogleScript, 17);</script> <script defer="" src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script> <script type="text/javascript"> var supportedBrowsers = ["chrome 103","edge 132","edge 131","edge 130","edge 129","edge 128","firefox 102","opera 114","opera 113","safari 18.3","safari 18.2","safari 18.1","safari 18.0","safari 17.6","safari 17.5","safari 17.4","safari 17.3","safari 17.2","safari 17.1","safari 17.0"]; var displayBrowsers = ["chrome 133","chrome 132","edge 132","edge 131","firefox 135","firefox 134","opera 114","safari 18.3","safari 18.2","safari 18.1","safari 18.0","safari 17.6","safari 17.5","safari 17.4","safari 17.3","safari 17.2","safari 17.1","safari 17.0"]; /* global UAParser */ /* eslint-disable no-var */ function findMinimumSupportedVersion(supportedBrowsers, browserName) { browserName = browserName.toLowerCase(); if (browserName.length > 0) { const filteredList = supportedBrowsers .filter((browser) => { return browser.toLowerCase().indexOf(browserName) === 0; }) .sort((a, b) => { return parseFloat(a.substr(a.indexOf(' ') + 1)) - parseFloat(b.substr(b.indexOf(' ') + 1)); }); if (filteredList.length > 0) { const oldestBrowser = filteredList[0]; return parseInt(oldestBrowser.substr(oldestBrowser.indexOf(' ') + 1), 10); } } return -1; } // eslint-disable-next-line no-unused-vars function blockPageIfBrowserUnsupported(supportedBrowsers, displayBrowsers) { if (typeof UAParser !== 'undefined') { var browserParser = new UAParser(); var browser = browserParser.getBrowser(); var browserVersion = parseInt(browser.major, 10); var minimumSupportedVersion = findMinimumSupportedVersion(supportedBrowsers, browser.name); var browserName = browser.name; if (browserName === 'Chrome') { browserName = 'Google Chrome'; } if (browserVersion > 0 && minimumSupportedVersion > 0 && browserVersion < minimumSupportedVersion) { var currentVersionString = `${browserName} ${browserVersion}`; var displayVersion = findMinimumSupportedVersion(displayBrowsers, browser.name); var minimumVersionString = `${browserName} ${displayVersion}`; document.querySelector('.js-unsupported-browser').style.display = ''; document.querySelector('.js-unsupported-browser-message').innerHTML = `You're currently using ${currentVersionString}.<br />To use FreshBooks, upgrade to ${minimumVersionString} or higher.`; } } } var script = document.createElement("script"); script.src = "assets/ua-parser.min.js"; script.defer = true; script.onload = function() { blockPageIfBrowserUnsupported(supportedBrowsers, displayBrowsers); } document.body.appendChild(script); </script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10