0.0
No release in over 3 years
There's a lot of open issues
Ruby wrapper for the NetSuite SuiteTalk SOAP Web Services API (v2025.2). Targets the final supported SOAP endpoint (scheduled for removal in 2028.2 per Oracle's deprecation timeline). Includes async bulk operations (asyncAddList, asyncUpdateList, asyncUpsertList, asyncDeleteList, asyncGetList).
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 3.13.0
~> 3.19

Runtime

< 4
>= 2.3.0, != 2.13.0, < 3
~> 2.0
 Project Readme

Ruby Gem Version GitHub Package Coverage License: MIT Ruby Version

netsuite

Ruby gem for the NetSuite SuiteTalk SOAP API (v2025.2) with async bulk operations. Maintained fork of NetSweet/netsuite.

Status

This gem targets SOAP 2025.2 — the final supported endpoint. SOAP is removed from NetSuite in 2028.2. This gem exists to bridge existing integrations through that timeline; it is not for new projects.

Release What happens
2025.2 Last planned SOAP endpoint
2027.1 Only 2025.2 supported
2028.2 SOAP removed entirely

New integrations should use SuiteTalk REST Web Services with OAuth 2.0.

Install

RubyGems.org (recommended)

# Gemfile
gem "netsuite-soap"

Or from the command line:

gem install netsuite-soap

GitHub Packages

# Gemfile
source "https://rubygems.pkg.github.com/bdelanghe" do
  gem "netsuite"
end

Or from the command line:

gem install netsuite --source "https://rubygems.pkg.github.com/bdelanghe"

Requires Ruby 3.4.

Quick start

require 'netsuite'

NetSuite.configure do
  reset!
  account       ENV['NETSUITE_ACCOUNT']
  api_version   '2025_2'
  consumer_key     ENV['NETSUITE_CONSUMER_KEY']
  consumer_secret  ENV['NETSUITE_CONSUMER_SECRET']
  token_id         ENV['NETSUITE_TOKEN_ID']
  token_secret     ENV['NETSUITE_TOKEN_SECRET']
end

customer = NetSuite::Records::Customer.get(4)

See docs/configuration.md for all options (WSDL, sandbox, multi-tenancy, logging).

Async bulk operations

For large operations, submit a job and poll for results rather than waiting on a single long-running request. See docs/async.md.

Documentation

Credits

Based on NetSweet/netsuite. Thanks to the original contributors.