BUILTIN.DF() in SuiteQL

BUILTIN.DF(transactionLine.createdfrom) AS so# BreakDown of Code: transactionLine.createdfrom Refers to the Created From field at the line level of a transaction. This field stores the internal ID of the source transaction (e.g., a Sales Order for an Invoice or an Item Receipt for a Purchase Order). BUILTIN.DF(field) BUILTIN.DF() is a NetSuite built-in function that retrieves the… Continue reading BUILTIN.DF() in SuiteQL

SUITEQL to Calculate Subtotal Considering Discount Item

(CASE WHEN COALESCE(discountData.discountTotal, 0) != 0 THEN (COALESCE(transaction.total, 0) – COALESCE(transaction.taxtotal, 0) + (COALESCE(discountData.discountTotal, 0) – COALESCE(discountItemData.discountItem, 0))) ELSE (COALESCE(transaction.total, 0) – COALESCE(transaction.taxtotal, 0)) END) AS invoiceSubtotal LEFT JOIN (SELECT transactionLine.transaction, SUM(ABS(transactionLine.amount)) AS discountTotal FROM transactionLine WHERE transactionLine.itemtype = ‘Discount’ GROUP BY transactionLine.transaction) discountData ON transaction.id = discountData.transaction LEFT JOIN (SELECT transactionLine.transaction, SUM(transactionLine.netamount) AS OtherCharges… Continue reading SUITEQL to Calculate Subtotal Considering Discount Item

SuiteQL query to fetch the item details based on a subsidiary

Since we are unable to directly filter the item data using the subsidiary, we will have to use a modified version of the item query by joining the itemSubsidiaryMap table and subsidiary table to get the required results. SELECT item.itemid,item.id,item.itemtype FROM itemSubsidiaryMap  INNER JOIN item ON  (item.id=itemSubsidiaryMap.item) INNER JOIN subsidiary ON  (subsidiary.ID=itemSubsidiaryMap.subsidiary) WHERE subsidiary.id=${nsSubsidiary}

Essential syntax requirements of SuiteQL

Essential syntax requirements that must be followed when writing SuiteQL queries, particularly when using the Connect Service. Understanding these rules will help ensure that your queries execute correctly and efficiently within NetSuite. When writing queries using SuiteQL with the Connect Service, follow these important syntax rules to avoid errors: String Concatenation The + operator cannot… Continue reading Essential syntax requirements of SuiteQL

Handling Multi-Select Fields in NetSuite SuiteQL Queries

When working with NetSuite, retrieving data from multi-select fields in SuiteQL queries can be challenging due to the way NetSuite structures these relationships. Multi-select fields store multiple values, often linked via mapping tables, requiring additional joins to retrieve related data properly. Example Query The following query demonstrates how to retrieve records associated with a multi-select… Continue reading Handling Multi-Select Fields in NetSuite SuiteQL Queries

Extending Saved Search Dates with SQL

Finding Flexibility by Extending Saved Search Dates Have you ever wondered about extending saved search dates? You’ve seen NetSuite’s built-in date options on searches, where you can select something like “Today,” “End of Next Business Week,” or “Same Day Last Fiscal Year.” If you need some additional flexibility with those date options, try this simple SQL function in the formula box wherever… Continue reading Extending Saved Search Dates with SQL

Understanding the NetSuite Database and SQL

NetSuite at its core is actually just a glorified database with a user-friendly interface managed through SQL. Do you find NetSuite sometimes difficult to fully understand? Knowing the roots and foundation of NetSuite will give you super-powers in understanding, debugging, and using NetSuite! Databases You may not have realized this before, but NetSuite for the… Continue reading Understanding the NetSuite Database and SQL

NetSuite Admin Tip | Exploring Transactions, Items, and Inventory Assignments

Exploring Transactions, Items, and Inventory Assignments offers businesses a detailed perspective on how inventory is managed across various processes. This approach enables businesses to track transactions effectively, analyze item movements, and review inventory assignments across storage locations. By understanding these elements, businesses can optimize inventory operations, improve accuracy, and ensure seamless flow throughout their supply… Continue reading NetSuite Admin Tip | Exploring Transactions, Items, and Inventory Assignments

SuiteQL remaining Amount fields for Transactions

For transactions such as Bill Credit, Credit Memo, Customer Deposit, and Payment, we utilize the “transaction.amountremainingbasecurrency” attribute. However, for all other transaction types, we rely on the “transaction.foreignamountunpaid” attribute to determine the remaining balance.

Executing SuiteQL Queries Through REST Web Services

SuiteQL is a query language based on the SQL database query language. SuiteQL provides advanced dynamic query capabilities that can be used to access NetSuite records. You can execute SuiteQL queries through REST web services by sending a POST request to the suiteql resource, and specifying the query in the request body after the body parameter q. In… Continue reading Executing SuiteQL Queries Through REST Web Services