SuiteQL Metadata vs SuiteCloud XML
Choose SuiteQL analytics metadata or SuiteCloud SDF XML for custom-record field definitions—and avoid treating them as interchangeable schemas.
44 notes in this collection.
Choose SuiteQL analytics metadata or SuiteCloud SDF XML for custom-record field definitions—and avoid treating them as interchangeable schemas.
Build a SuiteScript export of custom-field definitions with SuiteQL pagination, CSV escaping and columns adapted to your Records Catalog.
Diagnose why CustomRecordCustomField does not appear or query in SuiteQL: Records Catalog channel, role permissions, features and common false leads.
Map NetSuite custom-field families to SuiteQL metadata records, clarify definition versus instance data, and use the Records Catalog as the source of truth.
Use SuiteQL and the Records Catalog to identify which list or record a SELECT custom field references, without guessing analytical field IDs.
Confirm the SuiteQL relationship between custom-record field metadata and its owning custom-record type using the Records Catalog.
A practical column checklist for SuiteQL against CustomRecordCustomField: which analytical fields to confirm in the Records Catalog and how to select them safely.
Safely update a NetSuite invoice without losing its applied journal credits by snapshotting applications and restoring missing amounts through a zero-dollar customer payment.
Understand Customer, CustomerAddressBook and CustomerAddressBookEntityAddress and join them correctly in SuiteQL.
Diagnose duplicate customer rows in SuiteQL address queries and choose the correct result grain instead of relying on DISTINCT.
Return a customer default billing address, default shipping address or both with SuiteQL while retaining customers without an address.
Diagnose SuiteQL dates that appear one day early or late by separating date-only values, timestamps and JavaScript time-zone conversion.
Query NetSuite accounting periods with SuiteQL and avoid confusing transaction dates, posting periods and fiscal calendars.
Group SuiteQL results by calendar month, quarter or year while keeping the output correctly sorted across multiple years.
Pass dates and timestamps safely to N/query SuiteQL using bind parameters, TO_DATE and TO_TIMESTAMP with explicit formats.
Filter SuiteQL records by the current month, previous month or a custom date range without losing rows at time boundaries.
Cancel a pending NetSuite Map/Reduce deployment, contain one that is already processing, assess partial work and add a cooperative stop switch.
Connect Python to NetSuite using OAuth 2.0, REST Web Services, SuiteQL and RESTlets, with pagination, retries, error handling and secure configuration.
Round numbers, currency, percentages and dates in NetSuite saved searches using ROUND, TRUNC, FLOOR and CEIL, with practical examples and common mistakes.
A practical reference for supported NetSuite saved-search functions, with copyable examples for text, numbers, dates, nulls, conditions and summary results.
Diagnose NetSuite UNEXPECTED_ERROR failures by isolating deployment, imports, permissions, field IDs, N/search, N/query, serialization and governance problems.
Write NetSuite saved-search CASE formulas with multiple WHEN branches, AND, OR, ELSE, null handling, numeric flags, summaries and DECODE alternatives.
Use NetSuite saved-search formulas in criteria, results and highlighting, with examples for text, numbers, dates, null values, summaries and common errors.
Use the NetSuite Records Catalog to find SuiteQL record, field and join IDs, understand role-specific availability and diagnose unknown identifier errors.
Understand the 5,000-row runSuiteQL limit, runSuiteQLPaged page sizes, deterministic ordering, governance and the 100,000-row paged-result ceiling.
Find CustomRecordCustomField metadata in the NetSuite Records Catalog and query custom-record field IDs, labels and relationships safely with SuiteQL.
Use EXTRACT(YEAR FROM date) and EXTRACT(MONTH FROM date) in SuiteQL to filter, group and compare NetSuite date fields, with TO_CHAR alternatives.
Choose the correct SuiteScript sublist APIs for standard and dynamic record modes, with working examples, field-sourcing differences and a debugging checklist.
Keep optional SuiteQL filters and positional parameters synchronized, handle dates safely, and avoid malformed WHERE clauses and invalid bind types.
NetSuite FILE fields must remain in a Suitelet’s main area. Here is why native subtabs and upload controls conflict, plus practical layout alternatives.
Use ServerRequest.getLineCount and getSublistValue to process submitted Suitelet rows, with notes on validation, checkboxes and NetSuite’s raw sublist encoding.
A practical guide to composing N/search filter expressions, including nested OR conditions, NOT, joined fields, formula filters and NetSuite special values.
Sharing a NetSuite tab does not make Suitelet sublists appear one beneath another. The missing piece is a shared subtab. Here is the working serverWidget pattern and its layout caveats.
A blank SuiteQL parameter is not equal to an empty string. Learn why optional filters silently remove every row, how to reproduce the problem, and two reliable ways to fix it.
Diagnose the SCRIPT_OF_API_VERSION_2X_MUST_IMPLEMENT_A_SCRIPT_TYPE_INTERFACE error by checking script annotations, client-script paths and exported entry points.
If you're using Tim Diedrich's SuiteQL suitelet in your Netsuite instance to generate a table of results and want to present this result but don't like the column headers, or if yo…
Import a NetSuite custom record type into an SDF project with SuiteCloud CLI and understand how customrecordcustomfields appear in the generated XML definition.
Generate a number or date series in SuiteQL using DUAL, CONNECT BY or portable digit sets for working-day calculations and missing-period reports.
A practical SuiteQL starting template for named columns, bind parameters, optional filters, deterministic ordering and N/query execution.
Join Customer, CustomerAddressBook and CustomerAddressBookEntityAddress to retrieve billing, shipping and street-address details with SuiteQL.
LISTAGG is currently listed as unsupported in SuiteQL. Diagnose the generic error and replace string aggregation with grouped rows or JavaScript processing.
How do you reference images that are stored in your Filing Cabinet when trying to embed them into HTML. For example, when using logos in your emails how do you reference them? When…
When creating an XML object definition for your Suitescript deployment I noticed the schedule for the deployment was different to what I had coded. Here's a snippet of the XML obje…
A SuiteQL budget query fell from almost nine minutes to five seconds by filtering the required category in a CTE before joining the larger result set.