Skip to content
Browse topics
Integrations

Connect Nori to your ERP

What Nori pulls from the ERP, what it sends back, how to connect SAP Business One (Service Layer) or NetSuite (REST), and how to check that the sync is up to date.

Updated on October 24, 2026

Nori works standalone or connected to your ERP. If you don't use an ERP, skip this guide: you edit everything in Nori.

Nori connects to SAP Business One through the Service Layer and to NetSuite through its REST services (REST Record API and SuiteQL). You don't install anything on a Windows machine, and you don't give anyone direct access to the ERP database.

Who owns what

  • The ERP owns the master data: items, list prices, special prices, business partners with their addresses, balances and credit limits, warehouses (locations in NetSuite), sales employees, payment terms and methods, exchange rates, bin locations, batches and serials. They're read-only in Nori.
  • Nori owns what it creates: sales, purchasing and inventory documents (transfers and adjustments), and incoming and outgoing payments. Nori sends them to the ERP when they're posted. If you turn it on, Nori also sends business partners created in Nori.
  • Stock: you choose the source. With "The ERP" (the usual setting), Nori shows the ERP's stock minus what Nori sold and hasn't sent yet, so an item sold a minute ago doesn't show up as available again. The same goes for committed stock: a sales order entered in Nori that hasn't reached the ERP yet still holds its goods.
  • Available is calculated the way your ERP does it. With SAP Business One it's in stock − committed + ordered. With NetSuite it's in stock − committed, without what's on order from suppliers.

Nori doesn't send drafts or inventory counts.

Set up the connection with SAP Business One

  1. Go to Administration › Integrations and, on the ERP card, press Connect.
  2. Under Company ERP, choose your ERP.
  3. Enter the access details. For SAP Business One these are the Service Layer URL (for example https://erp.yourcompany.com:50000/b1s/v1), the company database, the username and the password.
  4. Press Test connection. If it connects, you see the ERP's response. If not, the message says why (user, certificate or network).
  5. Check which catalogs to pull and how often, in minutes. Pull stock and prices every few minutes and small catalogs every hour.
  6. Turn on Send documents and payments posted in Nori to the ERP.
  7. Save.

Nori numbers documents with its own series. You link each series to the matching SAP series.

Set up the connection with NetSuite

First, in NetSuite (your account administrator does this):

  1. In Setup › Company › Enable Features › SuiteCloud, turn on REST Web Services, OAuth 2.0 (or Token-based authentication) and SuiteQL if it's listed.
  2. Create a role for the integration with the REST Web Services and Log in using OAuth 2.0 Access Tokens permissions (or User Access Tokens for TBA), plus permissions to view the catalogs and create the documents you'll sync.
  3. Create an integration record with Client credentials (machine to machine) turned on. Save the Client ID.
  4. In Setup › Integration › OAuth 2.0 Client Credentials Setup, upload the certificate (RSA 3072 or 4096 bits, or EC P-256) for that integration, the role and a user. Save the certificate ID. You keep the private key.

Then, in Nori:

  1. Under Company ERP, choose NetSuite.
  2. Enter the Account ID (for example 1234567, or 1234567_SB1 for a sandbox).
  3. Under Authentication, leave OAuth 2.0 with a certificate and paste the Client ID, the certificate ID and the private key. If you use TBA, enter the four keys (consumer and token).
  4. If your account has subsidiaries, enter the subsidiary, plus the department and class if you use them. Nori links its warehouses to NetSuite locations when it pulls the locations (by name if they already exist).
  5. Press Test connection.
  6. Check which catalogs to pull and turn on sending documents and payments.

Under Mappings you set which form each record type uses, which custom fields hold the CFDI UUID, CFDI use, payment method and form, or customer RFC (Mexico only), and which NetSuite tax code matches each Nori tax.

How Nori documents become NetSuite records: a quotation becomes an estimate; a sales order, a sales order; a delivery from a sales order, that order's item fulfillment; a delivery without a sales order (a ticket), a cash sale; an invoice, an invoice (created from its sales order when there is one); a credit memo, a credit memo; a down payment, a customer deposit; payments, a customer payment or vendor payment; transfers, an inventory transfer; and goods receipts and issues, an inventory adjustment. Canceling in Nori deletes the record in NetSuite.

Field lengths

Each ERP field takes a maximum number of characters, and the ERP rejects the document if it gets a longer one. With an ERP connected, Nori limits what you enter to that length: the customer reference, comments, line notes, the partner's data and addresses, and the reference and comments of payments. If something is too long, the web, the point of sale and the API show a message with the maximum and don't save it; Nori never cuts the text without telling you.

With SAP Business One, Test connection reads the real length of those fields from your Service Layer and Nori keeps it. Until it reads them, it uses SAP 9.3's, the shortest. User fields (U_) take their size from SAP when you import them.

Price and stock right before checkout

With Verify with the ERP before posting a sale on, the point of sale checks the ticket's items with the ERP when you press Charge. If a price changed or there isn't enough stock anymore, the cashier sees the old and new values and decides. You also choose what happens if the ERP doesn't respond: charge with Nori's data, or block the sale.

Real-time notifications

To get ERP changes before the next sync cycle, create a key under ERP notifications (real time). Then set up the ERP (or a service running next to it) to send a notification signed with that key. Nori shows the key only once.

Is it up to date?

The top bar has a sync status light. The ERP screen lists each catalog with its last pull (up to date, behind or far behind) and the outbound queue with each item's status: pending, sent, error or undelivered.

  • Nori retries failed sends automatically, waiting a little longer each time. A record is never created twice, because each one carries a Nori external ID.
  • If the ERP doesn't respond, Nori pauses all calls for a few minutes and then tries again. If NetSuite reports too many concurrent requests, Nori waits a few seconds and retries.
  • With Alerts on, administrators get an email when something falls behind or fails.

Every night, at a time you choose, Nori runs a full reconciliation. It reads everything, fixes differences and deactivates anything in Nori that no longer exists in the ERP.

Can't find something?

Tell us what you need to do and we'll get back to you. If you're already a customer, include your company name.

Contact us