<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>DataTek Software Blog</title>
        <link>https://datateksoftware.com/blog</link>
        <description>Latest insights on NetSuite SuiteScript development, enterprise integrations, and ERP solutions.</description>
        <language>en-us</language>
        <lastBuildDate>Tue, 14 Jul 2026 00:24:12 +0000</lastBuildDate>
        <atom:link href="https://datateksoftware.com/feed" rel="self" type="application/rss+xml"/>

                <item>
            <title>Send Sales Order Billing Schedules to Salesforce</title>
            <link>https://datateksoftware.com/blog/send-sales-order-billing-schedules-to-salesforce</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/send-sales-order-billing-schedules-to-salesforce</guid>
            <pubDate>Sat, 11 Apr 2026 21:19:27 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    We needed to send the billing schedule from sales orders to Salesforce.  We just need to send the full list of billing date and invoice amount.  But there&#039;s a wrinkle.
                            ]]></description>
                    </item>
                <item>
            <title>Data Generation for Dev Environments</title>
            <link>https://datateksoftware.com/blog/data-generation-for-dev-environments</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/data-generation-for-dev-environments</guid>
            <pubDate>Thu, 21 Aug 2025 11:22:49 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Managing one or more development environments?  How do you keep them relevant over time.  If they become stale, it makes working on new projects with current data difficult.  Here, I’ll explain a series of steps I’ve taken to maintain my development environment ensuring current sales order, invoice, and customer payment data.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/163af082-5b01-4e73-a613-f875fb7e5b7d.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Tips when using lookupFields()</title>
            <link>https://datateksoftware.com/blog/tips-when-using-lookupfields</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/tips-when-using-lookupfields</guid>
            <pubDate>Mon, 09 Jun 2025 10:11:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Here are a couple of tips when working with `search.lookupFields()` in SuiteScript 2.1.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/febde551-cb90-424f-9e06-ea8fdc44caf7.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Scripted vs Saved Searches</title>
            <link>https://datateksoftware.com/blog/scripted-vs-saved-searches</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/scripted-vs-saved-searches</guid>
            <pubDate>Sun, 11 May 2025 22:40:14 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    **Unpopular Opinion**: I prefer to use scripted searches in my SuiteScript rather than referencing existing, external saved searches.

Here’s why.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/27a230a2-7703-4a88-83e9-14423bea8db6.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Use &#039;npkill&#039; to Clean Up Old &#039;node_modules&#039;</title>
            <link>https://datateksoftware.com/blog/use-npkill-to-clean-up-old-node-modules</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/use-npkill-to-clean-up-old-node-modules</guid>
            <pubDate>Sat, 23 Nov 2024 15:34:10 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Use this easy utility to quickly identify and remove `node_modules` folders from old or unused projects on your computer.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/001e543a-59bd-4588-b73f-df1eb16fbcbb.png" type="image/jpeg"/>
                    </item>
                <item>
            <title>Custom State Labels on Records</title>
            <link>https://datateksoftware.com/blog/custom-state-labels-on-records</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/custom-state-labels-on-records</guid>
            <pubDate>Sun, 30 Jul 2023 20:31:22 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Ever wanted to add a custom status to your transactions?  Sales Orders might be &quot;Pending Approval&quot;, &quot;Pending Billing&quot;, or &quot;Billed&quot;, but do your business processes also include transaction states like &quot;Validated&quot; or &quot;In Collections&quot;.  With this SuiteScript module, you can easily display these states using the same look and feel as the native NetSuite transaction states.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/b2830238-5eaf-4254-b640-b246e00944d2.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>SuiteScript with a Safety Net</title>
            <link>https://datateksoftware.com/blog/suitescript-with-a-safety-net</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/suitescript-with-a-safety-net</guid>
            <pubDate>Thu, 25 Apr 2019 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Littering your code with try/catches everywhere can be annoying and ensuring that you have a consistent way check for, handle, and log errors can be difficult.  With a simple library, you can ensure consistent error logging throughout your SuiteScript code bae
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/b65f696f-5c1a-462d-a17a-f059bb7fd38e.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Using DataGrip with NetSuite</title>
            <link>https://datateksoftware.com/blog/using-datagrip-with-netsuite</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/using-datagrip-with-netsuite</guid>
            <pubDate>Mon, 07 May 2018 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    DataGrip is a great application from the team at JetBrains.  It allows you to connect to a variety of different databases and data sources including NetSuite when you use the ODBC/JDBC drivers provided by NetSuite.
                            ]]></description>
                    </item>
                <item>
            <title>SuiteScript Function Naming</title>
            <link>https://datateksoftware.com/blog/suitescript-function-naming</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/suitescript-function-naming</guid>
            <pubDate>Sat, 12 Dec 2015 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Naming functions well in our code is often challenging.  With no modules to speak of in SuiteScript 1.0, these function often exist in the JavaScript global namespace.  This is an easy way to namespace your functions to avoid any naming collisions.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/066cc02f-a093-4a2c-9180-178b18321dea.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>.map() your NetSuite Search Results</title>
            <link>https://datateksoftware.com/blog/map-your-netsuite-search-results</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/map-your-netsuite-search-results</guid>
            <pubDate>Sat, 05 Dec 2015 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    When writing SuiteScript, your code will be easier to read if you can use regular JavaScript objects rather than the script IDs for your custom field names.  Using the JavaScript .map() function can help.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/5a9dc4c1-4b24-4437-8c0d-c2b26358f8b8.jpeg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Pluralsight, Training for Serious Learners</title>
            <link>https://datateksoftware.com/blog/pluralsight-training-for-serious-learners</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/pluralsight-training-for-serious-learners</guid>
            <pubDate>Thu, 10 Apr 2014 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    There are few learning platforms that provide quality, on-demand training for such a wide variety of software development and design topics as Pluralsight.
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/88ba005d-1f38-4126-9139-6dbf68ea7e88.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Nested Dropdown Lists in NetSuite</title>
            <link>https://datateksoftware.com/blog/nested-dropdown-lists-in-netsuite</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/nested-dropdown-lists-in-netsuite</guid>
            <pubDate>Tue, 08 Apr 2014 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Setting up dropdown lists whose values depend on the selection in another dropdown list is really straightforward in NetSuite with the help of custom records
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/00e90513-4891-47d5-b822-9cc6b89628e5.jpg" type="image/jpeg"/>
                    </item>
                <item>
            <title>Do you have a moment?</title>
            <link>https://datateksoftware.com/blog/do-you-have-a-moment</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/do-you-have-a-moment</guid>
            <pubDate>Sun, 24 Nov 2013 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    Using `moment.js` in your SuiteScript projects to make date manipulation a breeze
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/b857a346-e9ca-47b0-b812-cdde70e06219.png" type="image/jpeg"/>
                    </item>
                <item>
            <title>Technology is Customer Service First</title>
            <link>https://datateksoftware.com/blog/technology-is-customer-service-first</link>
            <guid isPermaLink="true">https://datateksoftware.com/blog/technology-is-customer-service-first</guid>
            <pubDate>Fri, 28 Jun 2013 00:00:00 +0000</pubDate>
            <author>mikedrobbins@gmail.com (Mike Robbins)</author>
                        <description><![CDATA[
                                    When you&#039;re in a technology role, the distinction between Users and Customers can make a huge difference when it comes to supporting the different technology services you provide.  Do you have email servers? or do you provide an email service?
                            ]]></description>
                        <enclosure url="https://datatek-software.s3.us-west-1.amazonaws.com/blog/images/6bf98db1-ebd1-40b6-9668-7a04b9125e9b.jpeg" type="image/jpeg"/>
                    </item>
            </channel>
</rss>
