Email Template

»
Accounts Payable

Notification of Payment Delays

Email template for notifying management about issues causing payment delays.

Subject

Notice Regarding Delays in Payment Process

BODY
Dear &#123;&#123;to.fname&#125;&#125;,<br>We, at the Accounts Payable Department, would like to bring to your notice an issue that is currently causing a delay in our payment process. We are actively working on resolving it and extend our deepest apologies for any inconvenience caused. We will keep you updated on any progress or changes.<br>Best Regards,<br>&#123;&#123;signature&#125;&#125;
About this
Email Template

The 'Payment Delay Issue Notification' template aids the Accounts Payable Department in communicating any unexpected problems or hurdles causing payment delays. Staying transparent about issues with key stakeholders such as leadership or management helps set accurate expectations and assures them that measures are being taken to tackle the situation.

This versatile template can be utilized across numerous business types, irrespective of size or industry. Businesses encountering blockages in their payment chain, whether due to technical glitches, paperwork discrepancies, or other unforeseen circumstances, can utilize this template to communicate effectively with their stakeholders.

In conclusion, the 'Payment Delay Issue Notification' email template stands as a symbol of transparency and proactive communication in the face of financial obstacles. It enables the Accounts Payable Department to keep stakeholders informed, thereby building trust and showcasing their effective crisis management ability.

A short Guide to
Notification of Payment Delays
Show-Hide

Récupérez 1 heure par jour sur la gestion de vos emails.

var user = {}; var params = new URLSearchParams(window.location.search); var path = window.location.pathname; const userPictures = document.getElementsByClassName('user-picture'); const signupCTAs = document.getElementsByClassName('get-started'); const bookDemoCTAs = document.querySelectorAll('[href*="request-demo"]'); const isSignedIn = document.getElementsByClassName('is-user-state'); const isSignedInInline = document.getElementsByClassName('is-state-user-inline'); const upgradeCTAs = document.getElementsByClassName('button-pricing-plan'); const educationCTAs = document.getElementsByClassName('gmelius-university'); const plan = params.get('plan'); const canPay = params.get('canpay'); // Select buttons using provided CSS classes const btnsTrial = document.querySelectorAll('.button-trial'); const btnsUpgrade = document.querySelectorAll('.button-upgrade'); const btnsAccount = document.querySelectorAll('.button-account'); const btnsDowngrade = document.querySelectorAll('.button-downgrade'); const btnsUpgradeUser = document.querySelectorAll('.button-upgrade-user'); // Conditional logic based on URL params if (plan && typeof canPay !== 'undefined') { document.querySelector('.pricing-title').textContent = 'Our Plans & Pricing'; document.querySelector('.pricing-subtext').textContent = 'Contact sales@gmelius.com in case of questions'; history.replaceState(null, '', window.location.pathname); // Hide Trial Buttons btnsTrial.forEach(btn => { if (btn) btn.style.display = 'none'; }); // Display appropriate buttons based on params if (canPay === 'false') { switch (plan) { case 'enterprise': btnsDowngrade.forEach(btn => { btn.style.display = 'flex'; }); document.querySelector('.button-enterprise').style.display = 'none'; btnsAccount[2].style.display = 'flex' btnsAccount[2].href = 'https://app.gmelius.com/account' break; case 'pro': btnsDowngrade[0].style.display = 'flex' btnsAccount[1].style.display = 'flex' btnsAccount[1].href = 'https://app.gmelius.com/account' break; case 'growth': btnsUpgradeUser[1].style.display = 'flex' btnsAccount[0].style.display = 'flex' btnsAccount[0].href = 'https://app.gmelius.com/account' break; default: btnsUpgradeUser.forEach(btn => { btn.style.display = 'flex'; }); } } else { switch (plan) { case 'enterprise': btnsDowngrade.forEach(btn => { btn.style.display = 'flex'; }); document.querySelector('.button-enterprise').style.display = 'none'; btnsAccount[2].style.display = 'flex' break; case 'pro': btnsDowngrade[0].style.display = 'flex' btnsAccount[1].style.display = 'flex' break; case 'growth': btnsUpgrade[1].style.display = 'flex' btnsAccount[0].style.display = 'flex' break; default: btnsUpgrade.forEach(btn => { btn.style.display = 'flex'; }); } } } try { window.onload = function() { document.getElementById('dashboard-frame-app').src = 'https://app.gmelius.com/websiteProxy.html'; }; window.addEventListener('message', function (e) { if (e.origin === 'https://app.gmelius.com') { user = e.data; window.localStorage.setItem('user', JSON.stringify(user)); } }); if (!Object.keys(user).length && window.localStorage.getItem('user')) { user = JSON.parse(window.localStorage.getItem('user')); } if (!Object.keys(user).length && (params.has('ref') && (params.get('ref') === 'dashboard' || params.get('ref') === 'extension'))) { user.picture = 'https://cloud.gmelius.com/public/logos/gmelius-32.png'; window.localStorage.setItem('user', JSON.stringify(user)); } if (Object.keys(user).length) { if (userPictures.length > 0) { Array.from(userPictures).forEach(function(picture) { if (user.email) { picture.src = user.picture || `https://avatar.oxro.io/avatar.svg?name=${user.email.toUpperCase()}&length=1`; } else { picture.src = 'https://cloud.gmelius.com/public/images/avatar-astro.png' } picture.onerror = function () { this.style.display = 'none'; } }); } if (signupCTAs.length > 0) { Array.from(signupCTAs).forEach(function(cta) { //cta.style.display = 'none'; }); } if (isSignedIn.length > 0) { Array.from(isSignedIn).forEach(function(cta) { //cta.style.display = 'none'; }); } if (isSignedInInline.length > 0) { Array.from(isSignedInInline).forEach(function(cta) { //cta.style.display = 'inline'; }); } if (educationCTAs.length > 0) { document.body.classList.add('hasAnnouncement'); Array.from(educationCTAs).forEach(function(cta) { cta.style.display = 'block'; }); } if (upgradeCTAs.length > 0) { Array.from(upgradeCTAs).forEach(function(cta) { cta.classList.add('upgrade'); }); } } } catch (e) {} // Beamer var beamer_config = { product_id : 'CIJpSEcT13796', //DO NOT CHANGE: This is your product code on Beamer selector : '.beamer-widget', /*Optional: Id, class (or list of both) of the HTML element to use as a button*/ //display : 'right', /*Optional: Choose how to display the Beamer panel in your site*/ top: 10, /*Optional: Top position offset for the notification bubble*/ //right: -10, /*Optional: Right position offset for the notification bubble*/ //bottom: 0, /*Optional: Bottom position offset for the notification bubble*/ left: 30, /*Optional: Left position offset for the notification bubble*/ //button_position: 'bottom-right', /*Optional: Position for the notification button that shows up when the selector parameter is not set*/ //icon: 'bell_lines', /*Optional: Alternative icon to display in the notification button*/ //language: 'EN', /*Optional: Bring news in the language of choice*/ //filter: 'admin', /*Optional : Bring the news for a certain role as well as all the public news*/ //lazy: false, /*Optional : true if you want to manually start the script by calling Beamer.init()*/ //alert : true, /*Optional : false if you don't want to initialize the selector*/ //delay : 0, /*Optional : Delay (in milliseconds) before initializing Beamer*/ //embed : false, /*Optional : true if you want to embed and display the feed inside the element selected by the 'selector' parameter*/ //mobile : true, /*Optional : false if you don't want to initialize Beamer on mobile devices*/ //notification_prompt : 'sidebar', /*Optional : override the method selected to prompt users for permission to receive web push notifications*/ //callback : your_callback_function, /*Optional : Beamer will call this function, with the number of new features as a parameter, after the initialization*/ //onclick : your_onclick_function(url, openInNewWindow), /*Optional : Beamer will call this function when a user clicks on a link in one of your posts*/ //onopen : your_onopen_function, /*Optional : Beamer will call this function when opening the panel*/ //onclose : your_onclose_function, /*Optional : Beamer will call this function when closing the panel*/ //---------------Visitor Information--------------- //user_firstname : "firstname", /*Optional : Input your user firstname for better statistics*/ //user_lastname : "lastname", /*Optional : Input your user lastname for better statistics*/ user_email : user.email ? user.email : null, /*Optional : Input your user email for better statistics*/ //user_id : "user_id" /*Optional : Input your user ID for better statistics*/ }; document.addEventListener('DOMContentLoaded', function () { if (user && user.email) { $crisp.push(["set", "user:email", [user.email]]); } const talkToSalesBtn = document.getElementById('talk-to-sales'); const tryProBtn = document.getElementById('try-pro'); const downgradeToGrowthBtn = document.getElementById('downgrade-growth'); const downgradeToProBtn = document.getElementById('downgrade-pro'); // Wait until Crisp is fully loaded function waitForCrisp(callback, attempts = 0) { if (window.$crisp && window.$crisp.is && window.CRISP_WEBSITE_ID) { callback(); } else if (attempts < 10) { // retry up to 10 times (5 sec) setTimeout(() => waitForCrisp(callback, attempts + 1), 500); } else { console.error('Crisp SDK failed to load.'); } } function sendVisitorMessage(messageText) { $crisp.push(["set", "message:text", [messageText]]); } // Open Crisp chat and display messages function openChatAndShowMessages(text) { if (!$crisp.is("chat:visible")) { $crisp.push(["do", "chat:show"]); } if (!$crisp.is("chat:opened")) { $crisp.push(["do", "chat:open"]); } // Small delay ensures Crisp DOM readiness setTimeout(() => { sendVisitorMessage(text); }, 500); } // Button click handler talkToSalesBtn.addEventListener('click', function (event) { event.preventDefault(); waitForCrisp(() => openChatAndShowMessages("Hi, I'd like to talk to your Enterprise Sales Team. My company name is:")); }); tryProBtn.addEventListener('click', function (event) { event.preventDefault(); waitForCrisp(() => openChatAndShowMessages("Hi, I'd like to start a trial of Gmelius Pro. My email address is:")); }); downgradeToProBtn.addEventListener('click', function (event) { event.preventDefault(); waitForCrisp(() => openChatAndShowMessages("Hi, I'd like to downgrade my subscription to Gmelius Pro.")); }); downgradeToGrowthBtn.addEventListener('click', function (event) { event.preventDefault(); waitForCrisp(() => openChatAndShowMessages("Hi, I'd like to downgrade my subscription to Gmelius Growth.")); }); btnsUpgradeUser.forEach(button => { button.addEventListener('click', event => { event.preventDefault(); waitForCrisp(() => openChatAndShowMessages("Hi, I'd like to upgrade my team's subscription.")); }); }); }); // Custom logic for modals document.addEventListener("DOMContentLoaded", () => { const target = document.querySelector(".with-video"); const introVideo = document.querySelector(".intro-video"); if (!target || !introVideo) return; const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { // Parent is in view, show the video introVideo.style.display = "block"; } else { // Parent is out of view, hide the video introVideo.style.display = "none"; } }); }, { root: null, // use the viewport threshold: 0, // callback when any part of the element is visible } ); observer.observe(target); }); document.addEventListener("DOMContentLoaded", () => { const closeButton = document.querySelector(".modal-close"); if (!closeButton) return; closeButton.addEventListener("click", () => { const videoModal = document.querySelector(".video-in-modal"); const introVideo = document.querySelector(".intro-video"); if (videoModal) { videoModal.remove(); } if (introVideo) { introVideo.remove(); } }); }); -->