SuiteQL Query Library

Customers: Billing Addresses

Returns a list of customers and their default billto addresses.

-- Contributor: Tim Dietrich (timdietrich@me.com)
-- Additional Info: https://timdietrich.me/blog/netsuite-suiteql-customer-accounts-receivable-queries/
ELECT
	Customer.EntityID AS ID,
	Customer.CompanyName AS Name,
	Customer.CreditLimit,
	Customer.OnCreditHold,
	BUILTIN.DF( Customer.Terms ) AS PaymentTerms,
	BUILTIN.DF( Customer.SalesRep ) AS SalesRep,
	Customer.BalanceSearch AS BalanceTotal,
	Customer.OverdueBalanceSearch AS BalancePastDue,
	BillToAddress.Addressee AS BillToAddressee,
	BillToAddress.Addr1 As BillToAddress1,
	BillToAddress.Addr2 As BillToAddress2,
	BillToAddress.Addr3 As BillToAddress3,
	BillToAddress.City As BillToCity,
	BillToAddress.State As BillToState,
	BillToAddress.Zip As BillToZip,
	BillToAddress.Country As BillToCountry,
	BillToAddress.Attention As BillToAttention
FROM
	Customer
	LEFT OUTER JOIN EntityAddressbook AS DefaultBilling ON
		( DefaultBilling.Entity = Customer.ID )
		AND ( DefaultBilling.defaultbilling = 'T' )
	LEFT OUTER JOIN EntityAddress AS BillToAddress ON
		( BillToAddress.nkey = DefaultBilling.AddressBookAddress )
WHERE
	( Customer.IsInactive = 'F' )
	AND ( Customer.OverdueBalanceSearch > 0 )
ORDER BY
	Customer.EntityID

Click here to return to the list of available queries.

About Me

Hello, I’m Tim Dietrich. I design and build custom software for businesses running on NetSuite — from mobile apps and Web portals to Web APIs and integrations.

I’ve created several widely used open-source solutions for the NetSuite community, including the SuiteQL Query Tool and SuiteAPI, which help developers and businesses get more out of their systems.

I’m also the founder of SuiteStep, a NetSuite development studio focused on pushing the boundaries of what’s possible on the platform. Through SuiteStep, I deliver custom software and AI-driven solutions that make NetSuite more powerful, accessible, and future-ready.

Copyright © 2025 Tim Dietrich.