finds.dev← search

// the find

netsuitephp/netsuite-php

★ 202 · PHP · NOASSERTION · updated Mar 2026

NetSuite PHP API Client with namespaces and autoloading

A PHP client for NetSuite's SOAP web services, extracted from NetSuite's own PHP toolkit. It splits the roughly 2,000 generated classes into one file each so they install through Composer and autoload like ordinary code. It is for PHP teams that already run a SOAP integration with NetSuite and want to stop vendoring the toolkit by hand.

- One class per file with standard Composer autoloading is the real value here. Without it, you are stuck with NetSuite's download and its manual require list.

- Configuration can come from $_ENV, so the same code runs in containers without shipping a config file. The static createFromEnv is deprecated in favor of the constructor, which is the right direction.

- Logging is opt-in, and since 2023.1.0 you can pass any PSR-3 logger instead of writing to a directory. That is the correct design for a library.

- Release versions map to NetSuite's endpoint versions (2021_1, 2023_1), and the README says so explicitly. That matters because NetSuite's SOAP contract changes between versions.

- SOAP only. There is no REST record API client here, so anything NetSuite ships first or only on REST arrives late or not at all for this library.

- Updating is manual. The generated classes come from a toolkit zip you download by hand into original/, and regeneration is a script you run yourself. Every API version bump produces a large diff that is hard to review.

- The license is split. The generated classes fall under NetSuite's redistribution agreement and the rest is Apache 2.0. Legal will need to read both before you vendor this.

- Data center detection adds a lookup per session, and the README's own advice is to hard-code your account host instead. That means you have to know the host up front, and the docs do not help you find it.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →