What does real time actually mean for a B2B storefront?
It means a call to the ERP while a human is waiting. Everything else people call real time is a fast batch, and a fast batch has no A rate limit is the cap a system puts on how many API requests you may make in a period. Go past it and requests are rejected until the window resets. problem worth discussing. The distinction matters because the two designs fail in completely different ways and cost completely different amounts.
Three things on a B2B storefront genuinely want a live call. The price a specific buyer pays, when that price comes from a contract rather than a published list. The quantity available to promise from the warehouse that buyer ships from. And the buyer’s credit position, if you intend to stop an order rather than call about it afterwards. A public catalogue, product content and search do not need a live call and should never make one.
So the sizing question is narrow and answerable: how many ERP calls per second will your storefront make at peak, and what does your ERP publish as its ceiling. Three of the four ERPs below publish a number. One publishes only that limits exist. That single difference is most of what this page is for.
Checked against: Acumatica Licensing Guide, April 2026, Table 6A system constraint maximums, Oracle NetSuite docs: web services and RESTlet concurrency governance, Microsoft Learn: Business Central online operational limits
What API ceiling does each ERP publish?
Every figure below is quoted from the vendor’s own document, read on 20 August 2026. Numbers move between releases, so take these as the shape of each vendor’s model and confirm your own edition, service tier and environment before you design against them.
Read the last row first if you are short of time. It is the one that changes an architecture decision rather than a capacity estimate.
| Criterion | Acumatica | NetSuite | Business Central | Cin7 Core |
|---|---|---|---|---|
| Requests per minute, published | Yes. 50 on Essentials, 100 on Select, 150 on Prime, 300 on Enterprise, per the April 2026 Licensing Guide. | Not as a per-minute figure. NetSuite governs by concurrency rather than by rate, plus per-script usage units. | Yes. 6,000 OData or SOAP requests per user in a five-minute sliding window, with a legacy per-environment figure of 300 a minute on sandbox and 600 on production. | No. The vendor publishes no number. |
| Concurrency, publishedNetSuite is the only one of the four where you can buy more concurrency as a named line item with a published effect. | Yes. API concurrency maximum queue size of five on Essentials, ten on Select, 20 on Prime, 40 on Enterprise. | Yes. Five concurrent requests on the Standard service tier, 15 on Premium, 20 on Enterprise and Ultimate. "The base limit is increased by 10 for each SuiteCloud Plus license." | Yes. Five concurrent requests per user, 100 maximum connections, 95 maximum queue size. | No. Cin7 states only that "API limits are applied on per API Application basis". |
| What happens when you exceed it | Acumatica advises "submitting fewer requests when the system is busy", adding processing nodes, or using SaaS Reserved Resources. | Requests beyond the account limit are rejected rather than queued, so a busy storefront competes with your other integrations. | HTTP 429 Too Many Requests, and queued requests time out after eight minutes with HTTP 503. | Undocumented. Plan for throttling you cannot predict from the documentation. |
| Authentication for a storefront integrationA static key pair works, and it means rotation and scoping are your problem rather than the identity provider’s. Treat the key as a credential with the same care as a database password. | OAuth 2.0 against the contract-based REST API. | OAuth 2.0 against SuiteTalk REST. SOAP is on a published retirement path. | OAuth 2.0 through Microsoft Entra ID, online deployments only. | Static key pair. Two headers, api-auth-accountid and api-auth-applicationkey, generated in the app. Cin7’s article makes no mention of OAuth. |
| Does storefront traffic affect licensingThis is the row to put in the business case. On three of these four, growing the storefront is a licensing conversation, and it is much cheaper to have it during design. | Yes. Monthly Commercial Transaction Volume counts sales orders, and "ERP transactions will also result from automated schedules that execute batch processes and/or REST APIs that create, update or delete transactions". | Indirectly. More concurrency means more SuiteCloud Plus licences. | Per-user limits scale with your user count, so more licensed users means more aggregate API headroom. | Yes, by plan. Sales orders a year are capped at 6,000, 24,000 and 120,000, and integrations at two, four and six. |
| First-party commerce connector | Yes, for Shopify and BigCommerce, built and published by Acumatica. | SuiteCommerce, a separately licensed module, plus third-party connectors against SuiteTalk REST. | Yes. Microsoft ships a Shopify Connector app that is "preinstalled for all new sign-ups and trials", requiring only a Business Central licence and a Shopify licence. | Yes, for Shopify, with a documented settings surface. One chosen price tier per store. |
Checked against: Acumatica Licensing Guide, April 2026: Web API requests per minute and API concurrency, Oracle NetSuite docs: concurrency governance limits based on service tiers and SuiteCloud Plus licenses, Microsoft Learn: operational limits for Business Central online, Cin7 Core help centre: Connecting to the Cin7 Core API, Microsoft Learn: getting started with the Shopify connector
On Acumatica, how does storefront traffic turn into a licensing conversation?
Through two separate ceilings, both published by Acumatica, and both worth sizing before a project starts rather than after. This is sizing guidance. Nothing here is a defect, and every number comes from Acumatica’s own documents.
The first ceiling is transaction volume. Acumatica’s April 2026 Licensing Guide defines the Monthly Commercial Transaction Volume as "the single highest volume of transactions for any of the following eight (8) transaction types: sales orders (of any order type); shipments; AR invoices; customer payments; purchase orders; purchase receipts; AP bills; and AP payments", and states that "ERP transactions will also result from automated schedules that execute batch processes and/or REST APIs that create, update or delete transactions". The guide’s transaction tiers run from S1 at 1,000 a month to P2 at one million. Exceeding your tier "creates an out-of-compliance situation, which may require you to increase your Transaction Tier level mid-contract".
The second ceiling is request throughput. The same guide publishes Web API maximums of 50 requests a minute on Essentials, 100 on Select, 150 on Prime and 300 on Enterprise, with API concurrency queue sizes of five, ten, 20 and 40. Acumatica’s guidance when integrations need more is to submit "fewer requests when the system is busy", to add processing nodes, or to use SaaS Reserved Resources, all of which are real options with real costs.
An older Acumatica document says the same thing in a blunter way and is still published on acumatica.com. The Licensing Guide Supplement, dated May 2018 in its own header, states that "if using APIs, OData Export, or scheduled import/exports to run automated background processes, the maximum number of concurrent users and hourly transaction volumes will be lower than that shown in the above table", and that "once guidance levels are exceeded, users may begin to see significant performance degradation". Its resource levels ran from Small at 100 peak transactions an hour to 4X-Large at 4,000. That model has been superseded by the transaction tiers in the April 2026 guide, so use the current guide for numbers and the supplement for the principle.
The lived version appears in Acumatica’s own community. Thread 15799, "eCommerce and API Limits", from April 2023, has a poster describing a 100 calls per minute limit on their licence, calls "getting denied or throttled", and real-time pricing that needed several calls per item breaking under it. The answer, from a community MVP rather than Acumatica staff, was that "L Series tier will give you 6 concurrent web service API requests". Tier naming has changed since, so read that thread as the failure mode rather than as current numbers.
The practical translation for a buyer is short. On Acumatica, users are free and transactions are not, so your storefront consumes your ERP entitlement and traffic growth is a sizing event you should price into the business case at the start. Every mature Acumatica commerce architecture we see reaches the same answer: cache the things that do not change per buyer, call live only for the price, the availability and the credit, and keep the call count per page view in single digits.
Checked against: Acumatica Licensing Guide, April 2026, Acumatica Licensing Guide Supplement, dated May 2018, Acumatica community 15799: eCommerce and API Limits, April 2023, Acumatica pricing page: unlimited users, cost driven by applications and resources
What does it mean that Cin7 Core does not publish its API limits?
It means you cannot size a real-time integration against Cin7 Core from public information, and you should ask Cin7 for the numbers in writing before you commit to an architecture that depends on them.
Cin7’s own article, Connecting to the Cin7 Core API, states that "API limits are applied on per API Application basis" and then gives no figure: no requests per minute, no concurrency, no burst allowance, no documented behaviour on throttle. A vendor confirming that limits exist while withholding the number is a specific and unusual position, and it is worth naming rather than glossing over. It is not the same as having no limits.
The authentication model compounds it. Cin7 Core authenticates with two static headers, api-auth-accountid and api-auth-applicationkey, generated inside the application, and the article makes no mention of OAuth. The account ID differs per company you have access to, and you can create multiple API applications on one account. That last detail is the useful one: because limits are applied per API application, giving the storefront its own application keeps it from competing with your reporting jobs and your 3PL feed for the same undisclosed budget.
The design conclusion follows directly. On Cin7 Core, build for A batch sync moves data between systems on a schedule, for example every night or every 15 minutes, rather than the moment something changes. It is simpler to run than event-driven integration and it is always at least slightly out of date. and cache aggressively, use a separate API application per integration, and treat any live per-page-view call to Cin7 as a risk you have to prove rather than a default you can assume. That is a workable architecture and plenty of Cin7 storefronts run on it. It is just not the architecture you would choose if the numbers were published and generous.
Checked against: Cin7 Core help centre: Connecting to the Cin7 Core API, read 20 August 2026, Cin7 Core help centre: Shopify settings, one price tier per store
What is NetSuite retiring, and what does it force?
SOAP web services, on a published schedule, and it forces any integration you own or commission to be on SuiteTalk REST before the 2028.2 release. NetSuite’s own documentation is unusually clear about this, which makes it easy to plan around.
The documented sequence is three steps. "The 2025.2 SOAP endpoint is the last planned SOAP endpoint and any later SOAP endpoints would be released only as necessary to meet business, technical, or other significant requirements." Then, "with the 2027.1 release, only the 2025.2 endpoint will be supported". Then, "with the 2028.2 release, SOAP will no longer be available in NetSuite and existing SOAP integrations with NetSuite will stop working". NetSuite names the replacement: "SuiteTalk REST web services is the technology intended to replace SOAP. All newly built integrations should use REST web services with OAuth 2.0 for authentication."
For a B2B commerce project starting now, that has one practical consequence and it is a procurement one. Ask any connector vendor or integrator which protocol their NetSuite integration uses, and get the answer in writing. A SOAP-based connector bought in 2026 has a known replacement date, and paying twice for the same integration is the avoidable outcome here.
Checked against: Oracle NetSuite docs: SOAP web services deprecation plan, Oracle NetSuite docs: SOAP to REST upgrade guide
Why does Business Central’s first-party Shopify connector change the arithmetic?
Because it removes a line item and an owner from the project, and on a mid-market budget that is not a small change. Microsoft builds the connector, ships it inside Business Central, and states that "the app is preinstalled for all new sign-ups and trials". Its FAQ adds that "the organization must have both a Business Central license and a Shopify license to use the connector", which is to say there is no third bill.
Compare that with what the same capability costs elsewhere. On NetSuite you are licensing SuiteCommerce as a module or buying a third-party connector. On Cin7 Core the Shopify integration is included but the B2B portal is a per-portal add-on. On Acumatica the connector is first-party and free, so Acumatica and Business Central are alike on this row and both are ahead of NetSuite on it.
Three limits are published and belong in the same breath, because a connector that does not fit your deployment is worth nothing. Microsoft states the Shopify connector "isn’t available for on-premises deployments", that it "doesn’t work for Embed App" where the client URL uses the bc.dynamics.com format, and that it "doesn’t work with other Dynamics 365 applications, like Dynamics 365 Sales or Dynamics 365 Supply Chain Management". If you run Business Central on premises, this advantage does not apply to you at all.
Checked against: Microsoft Learn: getting started with the connector for Shopify, Microsoft Learn: Shopify connector FAQ, licences and unsupported deployments, Acumatica commerce connectors
What should you do instead of asking for real time everywhere?
Decide, field by field, what has to be live and accept a staleness budget for everything else. This is the single design decision that keeps an ERP-backed storefront inside its API ceiling on every one of these four platforms, and it costs nothing to make early.
Write it down as a table your integrator has to build against, because "real time" in a requirements document means whatever the reader wants it to mean, and the argument surfaces during user acceptance testing when it is expensive.
Product content, images, categories and attributes: nightly is fine, and none of this belongs in a live ERP call.
List price: hourly or on change. A published price that is 40 minutes old has never cost anyone an order.
Contract price for a signed-in buyer: live, or precomputed into a customer-specific price list refreshed on a schedule you can defend. This is the one field where the choice is genuinely hard.
Stock quantity: near real time with a displayed band rather than an exact number, so a five-minute lag does not become a customer service call.
Credit position: live, but only at checkout, and only if you intend to actually stop the order.
Order history and invoice documents: on demand, cached per buyer, and never prefetched for every page view.
Checked against: Acumatica Licensing Guide, April 2026, on submitting fewer requests when the system is busy, Microsoft Learn: Business Central operational limits, HTTP 429 and queue timeouts
The wider picture
This page answers one narrow question. Acro Commerce covers the strategy around it.
Common questions
- What are Acumatica’s API limits?
- Acumatica’s April 2026 Licensing Guide publishes Web API maximums of 50 requests a minute on Essentials, 100 on Select, 150 on Prime and 300 on Enterprise, with API concurrency maximum queue sizes of five, ten, 20 and 40 respectively. The same guide counts a Monthly Commercial Transaction Volume and states that REST APIs which create, update or delete transactions produce countable ERP transactions. Confirm your own edition, because these are per product.
- Does Cin7 publish an API rate limit?
- No. Cin7’s Connecting to the Cin7 Core API article states that "API limits are applied on per API Application basis" and gives no requests-per-minute figure, no concurrency figure and no documented throttle behaviour, read 20 August 2026. Because limits are scoped per API application, creating a dedicated application for your storefront stops it competing with your other integrations for the same undisclosed budget.
- How many concurrent API requests does NetSuite allow?
- NetSuite publishes account base limits of five concurrent requests on the Standard service tier, 15 on Premium, and 20 on Enterprise and Ultimate, and states that "the base limit is increased by 10 for each SuiteCloud Plus license". Its own example: Ultimate with five SuiteCloud Plus licences gives 70 concurrent requests. This is the only one of the four ERPs here where you can buy published headroom as a line item.
- Is Business Central’s Shopify connector free?
- There is no separate connector licence. Microsoft builds and ships the Shopify Connector app, states that it is "preinstalled for all new sign-ups and trials", and its FAQ says the organization needs both a Business Central licence and a Shopify licence. Three published limits apply: it is not available for on-premises deployments, it does not work for Embed App, and it does not work with other Dynamics 365 applications such as Sales or Supply Chain Management.
- Can a B2B storefront show live contract pricing from the ERP?
- Technically yes on any of these ERPs, but it is the most expensive field to serve live because it is per buyer and per product and cannot be cached across visitors. The alternative most mid-market builds land on is precomputing customer-specific price lists into the storefront on a schedule, which trades freshness for a much smaller API bill. Decide this consciously, because it is the single biggest driver of your ERP call volume.
- Will my ERP integration break when NetSuite retires SOAP?
- Only if it uses SOAP. NetSuite documents that the 2025.2 endpoint is the last planned SOAP endpoint, that from 2027.1 only that endpoint remains supported, and that "with the 2028.2 release, SOAP will no longer be available in NetSuite and existing SOAP integrations with NetSuite will stop working". Ask any connector vendor in writing whether their integration uses SuiteTalk REST with OAuth 2.0.
Last updated 2026-08-20. Facts on this page last checked against source 2026-08-20.
