// the find
NetSweet/netsuite
NetSuite SuiteTalk API Wrapper
A Ruby gem that wraps NetSuite's SuiteTalk SOAP API in record classes with CRUD, search, file attach, and token-based auth. It covers only the record types contributors have needed, so it suits Ruby teams already tied to NetSuite who would otherwise hand-build Savon calls. The README says the maintainer no longer uses it and has no time to maintain it, and the last push was September 2024.
- Record classes like NetSuite::Records::Customer expose get, get_list, add, update, delete and search as plain Ruby calls, so routine work doesn't require touching the SOAP XML.
- Token-based auth is documented as the recommended path, and the README steers readers away from username and password login.
- Configuration is per thread when multi_tenant! is enabled, so one process can talk to several NetSuite accounts without settings leaking between them.
- Large searches can be walked with results_in_batches, which pages through SearchMoreWithId rather than loading everything at once.
- Nobody clearly owns keeping up with SuiteTalk. NetSuite retires API versions on its own schedule, and the README still uses 2018_2 and 2016_2 in its examples, with endpoints above 2018_2 needing to be set by hand.
- Option naming is inconsistent. The README mixes page_size with pageSize and body_fields_only with bodyFieldsOnly, so expect to check hash keys against the WSDL by trial and error.
- Coverage is partial by design. Any record outside the implemented set means writing raw calls through NetSuite::Configuration.connection.call, which the README's own non-standard operations section shows is clumsy.
- Configuration is easy to get wrong. It needs reset!, some settings change others, and the README admits you have to read the source to see how they interact.