<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.mavencloud.tech/blogs/tag/accounting/feed" rel="self" type="application/rss+xml"/><title>MavenCloud - Blog #Accounting</title><description>MavenCloud - Blog #Accounting</description><link>https://www.mavencloud.tech/blogs/tag/accounting</link><lastBuildDate>Fri, 23 Jan 2026 01:32:09 -0800</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Manage Subscriptions and Recurring Invoices Using SuiteFlow]]></title><link>https://www.mavencloud.tech/blogs/post/manage-subscriptions-and-recurring-invoices-using-suiteflow</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/images/subscription-business-model-concepts.jpg"/>There are many add-ons and SuiteApps you can purchase to help you manage subscriptions or automate recurring Invoices.&nbsp; These apps provide a lot ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_HyvlqD_RTr2PqiCkuoKGYQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_3JrUI-vdRyyO61NxyVRzsA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_4QqjD5ZBSSC7jPHf6vd39Q" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_CSmpB9JRQPO3vCCiU3K_HQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_CSmpB9JRQPO3vCCiU3K_HQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">There are many add-ons and SuiteApps you can purchase to help you manage subscriptions or automate recurring Invoices.&nbsp; These apps provide a lot of great functionality and a nice user experience, however, if your organization does not have the ability to invest in additional modules or 3rd party apps, then you can build your own subscriptions module using workflows!&nbsp; The trick is to setup some new fields on your Quotes or Sales Orders to manage the frequency of your recurring invoices.&nbsp; Furthermore, if you would like a Custom Transaction Type could also serve as the record to hold your main subscription information.</p></div>
</div><div data-element-id="elm_lGffZI8hX9z8A0pzQfqhdA" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_lGffZI8hX9z8A0pzQfqhdA"] .zpimagetext-container figure img { width: 200px ; height: 133.20px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_lGffZI8hX9z8A0pzQfqhdA"] .zpimagetext-container figure img { width:200px ; height:133.20px ; } } @media (max-width: 767px) { [data-element-id="elm_lGffZI8hX9z8A0pzQfqhdA"] .zpimagetext-container figure img { width:200px ; height:133.20px ; } } [data-element-id="elm_lGffZI8hX9z8A0pzQfqhdA"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-small zpimage-tablet-fallback-small zpimage-mobile-fallback-small hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/images/young-businessman-using-laptop-with-bnpl-icon.jpg" width="200" height="133.20" loading="lazy" size="small" data-lightbox="true"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">If you are familiar with custom records and custom transaction types then you may prefer to create a custom transaction type to manage your subscriptions.&nbsp; If you use Estimates and Sales Orders regularly for other types of orders, then a custom transaction type can help to segment your subscriptions or recurring invoices into a different bucket so as not to confuse your users.&nbsp; This will also give you more control over reporting as you can default your custom transaction type to accrue in a different account.&nbsp; Make sure to set your custom transaction type to &quot;non posting&quot; so you do not effect your GL until the Invoice is created.&nbsp; Also, use the type of &quot;Sales Transaction&quot; so you can transform it into an Invoice using a workflow.</span></p></div>
</div></div><div data-element-id="elm_mHoMNc419hc9_VChz3CsNQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_mHoMNc419hc9_VChz3CsNQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>To start we will create a few new Transaction Body fields to help us manage our recurring invoices.&nbsp; These should be added to the Estimate or Sales Order, whichever you would like to use to manage your recurring invoices.&nbsp; (Or you could use a custom Transaction Type if that fits your use case better.)</li><ul><li>Recurring Invoice Frequency - this will be how often (in days) an invoice gets created</li><li>Next Invoice Date - this will be used to trigger the workflow to create a new invoice.</li><li>Recurring Invoice End Date - if recurring invoices should stop at a certain point you can use this field to define an end date.</li></ul></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-13.png" alt=""></span><br></div><ul><li><span style="color:inherit;">The next step is to setup a Saved Search that will trigger your Invoice creation.&nbsp; Setup a transaction saved search based of the transaction type of your choice and include the new Next Invoice Date field you created as part of your criteria.</span></li></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-18.png" alt="" style="width:1047.89px !important;height:521px !important;max-width:100% !important;"></span><br></div><ul><li>Now let's setup a workflow that will create Invoices.&nbsp; For this we will use the Transform Record action.&nbsp; To start just create a workflow with the type Transaction and sub type that matches the transaction type you are working with.<br>Remember that you can only transform an Estimate or Sales Order into an Invoice.&nbsp; (Also if you setup a custom transaction type using the &quot;Sales Transaction&quot; type it can be used to transform into an Invoice)</li></ul><div style="text-align:center;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-15.png" alt="" style="width:603.8px !important;height:355px !important;max-width:100% !important;"></span><br></div><div style="text-align:left;"><ul><li style="text-align:left;"><span style="color:inherit;">Then set your workflow up as a Scheduled workflow that runs everyday, because we will use the custom field Next Invoice Date to control when recurring invoices are made so we want to check every day if any need to be made.</span></li></ul><div style="text-align:center;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-16.png" alt="" style="width:504.6px !important;height:387px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Create a Workflow State field that will first store the current Next Invoice Date so we can recalculate it later.</span></li></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-19.png" alt="" style="width:1057.4px !important;height:252px !important;max-width:100% !important;"></span><br></div><ul><li><span style="color:inherit;">The first thing to do is to copy the Next Invoice Date in the Current Next Invoice date workflow field we made in the step above.</span></li></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-20.png" alt="" style="width:1060.12px !important;height:430px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Now we can add our Transform Record action into State 1 of the workflow.&nbsp; The transform record action will essentially just take the Estimate and almost Make Copy of it, except the &quot;copy&quot; is an Invoice instead of another Estimate.&nbsp; You can set new values for header fields on the invoice that gets created but unfortunately you cannot change any of the line items so be sure that the Estimate you setup has the correct Line information on it.</span></li></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-17.png" alt=""></span><br></div><ul><li><span style="color:inherit;">Add another action to the workflow to set the NEW Next Invoice Date by adding the Frequency to the workflow field that we created.</span></li></ul><div><img src="/Thu%20Mar%2023%202023-21.png" alt="" style="color:inherit;"><br></div><ul><li>Now let's setup an Estimate for our first recurring invoices.&nbsp; The Estimate will always remain in the system and be there to generate Invoices each month.</li></ul><div><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-22.png" alt=""></span><br></div><div><span style="color:inherit;"><br></span></div><div><span style="color:inherit;">There is a lot more customization that you can do with this functionality, but what we've built here can maintain the basic functionality of automated recurring Invoices.&nbsp; If you have a Payment Processing Profile setup you can also use this functionality to automatically charge the customers credit card.&nbsp; In that scenario you would want to transform the Estimate into a Cash Sale instead of an Invoice, but the concept is still the same.&nbsp;&nbsp;</span><span style="color:inherit;">Also, if you've read our blog </span><a href="https://www.mgbcpro.com/blogs/post/simple_dunning_workflow" title="post" target="_blank" rel="">post</a><span style="color:inherit;"> on Invoice collections you can utilize that workflow to make sure your Invoices are paid on time.</span></div><div><span style="color:inherit;"><br></span></div><div><div>We love to find creative ways to leverage workflows to get the best out of NetSuite without having to invest in more modules or 3rd part apps.&nbsp; The power of workflows is pretty amazing and the things you can build with them are quite impressive if you take the time to know and understand their functionality and limitations.&nbsp; If you read through our other <a href="/blogs" title="Blog" target="_blank" rel="">Blog</a> posts you can quickly realize the amazing functionality that comes built in with every NetSuite account.</div></div></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 23 Mar 2023 22:37:28 -0600</pubDate></item><item><title><![CDATA[Create a Powerful Dunning Workflow with Just One State]]></title><link>https://www.mavencloud.tech/blogs/post/simple_dunning_workflow</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/images/pexels-photo-2553427.jpeg"/>There are many workflows available to help you with your collections process.&nbsp; Many can be quite complex with multiple states and a spiderweb of ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_48Pn9q1rRAuFc55D7WbLfg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_9i88_lm7RU6-usYjOzPFfg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_4QZhjFWOSmCVYWioojsbrw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_4QZhjFWOSmCVYWioojsbrw"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_bxi_up5YRwC8Skk-p-uj4Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_bxi_up5YRwC8Skk-p-uj4Q"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">There are many workflows available to help you with your collections process.&nbsp; Many can be quite complex with multiple states and a spiderweb of transitions.&nbsp; Your business might require the complexity in most solutions but even the simplest set of reminders can make a huge impact on your cash flow.&nbsp; Here we can use a simple one state workflow to remind your customers of their outstanding invoices and also add some other powerful tools for your internal processes as well.</p><ul><li style="text-align:left;">To start let's add 2 new fields to our Invoice to help us track some more information about our collections process.&nbsp; These will be Transaction Body fields</li><ul><li style="text-align:left;">Next Invoice Reminder Date - we will use this field to trigger our automated reminder email and also manage different timings for each email</li><li style="text-align:left;">Number of Reminder Emails Sent - this will be an incrementing tally so we can track how many times it takes us to email someone before collecting payment.</li></ul></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-2.png" alt=""></span><br></div><ul><li style="text-align:left;">Now let's setup the Saved Search that we will use to control our automated emails.&nbsp; We will make sure that we are only considering Unpaid Invoices, as well as validating the Next Invoice Reminder Date.<br>(Notice we included an expression to look for Invoices where the Due Date is <span style="font-style:italic;">today</span> OR the Next Invoice Reminder Date is <span style="font-style:italic;">today</span>.&nbsp; This way we will send a reminder when the Invoice is due AND then continue to validate the Next Invoice Reminder Date going forward.)<br></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-3.png" alt=""></span></div><ul><li style="text-align:left;">Now we will create a Scheduled Workflow based on our Saved Search.&nbsp; Start by creating a new workflow.&nbsp; Give it a name and select the Type of Transaction and Sub Type of Invoice.</li></ul><div style="text-align:center;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-4.png" alt="" style="width:631.13px !important;height:366px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Then setup your schedule.&nbsp; We want this to run every day as the Next Invoice Reminder Date will be used by the Saved Search to trigger when to send Invoices we don't need to worry about setting a schedule in the workflow.&nbsp; It can just run every day and find Invoices that meet our criteria.</span></li></ul><div style="text-align:center;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-5.png" alt="" style="width:512.14px !important;height:432px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Now in State 1 we can start to add our logic and actions.&nbsp; First, we want to add a Field in the state that will record our current number of emails sent.&nbsp; We will use this later in the other Actions we are going to setup</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-6.png" alt=""></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Then add an action to set this new Workflow Field to be the Number of Collections Emails Sent field that we added to our Invoices.&nbsp; This will copy the number at the beginning of the workflow so we can add to it and increment it up by one at the end of the workflow.<br>(The formula we are using is a nice workaround for Invoices that have not yet had a collections email so the Number of Collections Emails field will be blank.&nbsp; Therefore a NULL value will be considered a zero so we can mathematically increment it up by one.)</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-7.png" alt=""></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Then we will add an action to move our Next Invoice Reminder date based on the logic we want.&nbsp; This will then be used in the Saved Search we made next time the Next Invoice Reminder Date is <span style="font-style:italic;">today.</span><br>(Also in this example we will use different timing for customers that only have 1 reminder vs. customers with 2 or more reminders)</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-8.png" alt=""></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Next we will send our Emails out to our customer.&nbsp; We will add successive Send Email actions but add conditions to each action so we are sending out different emails depending on how many reminders we've sent out for the same Invoice.&nbsp; You can also use the Number of Collections Emails Sent field to let your customer know how many times you've tried to reach them about this Invoice.</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-9.png" alt="" style="width:1058.15px !important;height:446px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;">Next, we can add an action to put this customer on hold so future orders do not get added or fulfilled until payment is made.&nbsp; This step is optional but is a nice feature that you can add if it fits with your business process.&nbsp; You'll notice we are using the MGBC Set Field Value (joined record) custom action.&nbsp; This is a just one of the amazing actions we have developed as a solution to overcome the limitations that native NetSuite functionality has.</li><li style="text-align:left;">Also note that we are only setting the Credit Hold if the customer has had more than 3 reminders on a past due invoice.</li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-10.png" alt="" style="width:1046.74px !important;height:90px !important;max-width:100% !important;"></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Lastly, we need to recalculate how many reminder emails we've sent but adding 1 to the Workflow State field that we made as our first action.</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-11.png" alt=""></span><br></div><ul><li style="text-align:left;"><span style="color:inherit;">Here's the how the final workflow looks.</span></li></ul><div style="text-align:left;"><span style="color:inherit;"><img src="/Thu%20Mar%2023%202023-12.png" alt=""></span><br></div><div style="text-align:left;"><span style="color:inherit;"><br></span></div><div style="text-align:left;"><div><span style="color:inherit;">Now you have a robust dunning workflow where you can control the frequency between reminder emails AND even track how many reminders it takes to receive payment.&nbsp; Lastly, if you have our <a href="/enhanced-workflow-actions" title="Enhance Workflow Actions" target="_blank" rel="">Enhance Workflow Actions</a> you can further enhance the functionality of your dunning workflow by manipulating joined records, which current NetSuite functionality does not allow.&nbsp; Let us know if you have any questions about our Enhanced Workflow Actions or need help with implementing this dunning workflow.</span></div></div></div>
</div><div data-element-id="elm_TzTSJ2Pr54y1DoqZwDzlxA" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_TzTSJ2Pr54y1DoqZwDzlxA"].zpelem-button{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact" target="_blank"><span class="zpbutton-content">Contact Us</span></a></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 06 Mar 2023 21:33:00 -0600</pubDate></item></channel></rss>