justinholtweb/craft-erpy-netsuite

Oracle NetSuite connector for Erpy.

Maintainers

Package info

github.com/justinholtweb/craft-erpy-netsuite

Type:craft-plugin

pkg:composer/justinholtweb/craft-erpy-netsuite

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-29 00:52 UTC

This package is auto-updated.

Last update: 2026-08-29 12:28:00 UTC


README

An Erpy connector for Oracle NetSuite.

Free. Erpy itself is the paid part — it owns the sync engine, the identity map, the field mapping, the queue, the dead letters and the log. This package's whole job is to translate one vendor's API into Erpy's canonical documents.

Installing

composer require justinholtweb/craft-erpy-netsuite
php craft plugin/install erpy-netsuite

Then add a connection under Erpy → Connections and pick it from the ERP list.

What you need to know

Authentication

Token-Based Authentication — OAuth 1.0a signed with HMAC-SHA256. NetSuite answers every signing mistake with the same opaque INVALID_LOGIN_ATTEMPT, so the connection test spells out what to check and in what order.

Bulk reads use SuiteQL

NetSuite's REST record API returns links rather than records: a list gives you ids and you fetch each one. That is fine for orders and ruinous for a 40,000-item catalogue, so every bulk read here is SuiteQL, which returns whole rows a thousand at a time. Your integration role needs SuiteAnalytics Workbook as well as REST Web Services.

Idempotency

Orders are created with the Commerce order number as NetSuite's externalId, which NetSuite itself refuses to duplicate — a stronger guarantee than asking first.

What it syncs

The connection screen shows exactly which entities and directions this connector supports — it is generated from the connector's own declaration, so it can never advertise a flow it has not implemented.

A field is wrong

Correct it on the mapping screen: a rule whose target is a canonical field (sku, unitPrice, customerCode) overrides what the connector read, before anything reaches Commerce. No fork, no wait for a release.

Requirements

Craft CMS 5.3+, Craft Commerce 5.0+, PHP 8.2+, and Erpy 5.0+.

Support

justin@justinholt.com