Does inventory at a 3PL warehouse create physical nexus?
Yes, in every state with a sales tax. Storage of tangible personal property in the state is the canonical "engaged in business" trigger. The statute language repeats from state to state with minor wording variations:
- California. "Every retailer engaged in business in this state... [including any retailer that] maintains, occupies, or uses... a warehouse or storage place." (Cal. Rev. & Tax. Code §6203)
- Texas. "A retailer is engaged in business in this state if the retailer... maintains, occupies, or uses... an office, place of distribution, sales or sample room or place, warehouse, storage place, or any other place of business." (Tex. Tax Code §151.107(a)(1))
- New York. Maintaining "a place of business in the state," including through inventory storage, makes the seller a "vendor" for sales tax purposes. (NY Tax Law §1101(b)(8)(i)(A))
- Washington. "Engaging in business in Washington" includes maintaining "a stock of goods." (RCW 82.04.067)
- Florida. "A dealer maintaining a place of business in this state" covers warehousing of tangible personal property. (Fla. Stat. §212.06)
Volume in the state is irrelevant. One pallet at a ShipBob facility in California triggers the same physical-nexus analysis as a 50-pallet pickup at an owned warehouse. A brand below California's $500,000 economic threshold can have full California physical nexus from a single SKU in a Los Angeles fulfillment center.
The brand discovery moment we see most often: a 3PL silently relocates inventory to a new fulfillment center to optimize shipping speeds. Six months later, the state where the new facility sits issues a nexus inquiry. The brand has been creating physical nexus for half a year without knowing.
The economic-vs-physical distinction matters here. South Dakota v. Wayfair, Inc., 138 S. Ct. 2080 (2018) added economic nexus on top of the physical-presence trigger; it did not replace physical nexus. Every sales tax state continues to assert both. For a 3PL-using brand, physical presence through inventory is typically the earlier trigger. The economic threshold may not have been crossed in a given state, but the inventory has landed there, and the registration obligation begins from the date of placement.
How multi-node 3PL networks compound the nexus analysis
The traditional 3PL story (one warehouse, one state, one new line item on the nexus map) is the simpler case. Mid-market ecommerce brands rarely operate it that way at this scale. The pattern across $20M to $80M brands on Shopify and Shopify Plus is a multi-node 3PL: ShipBob, ShipMonk, Flowspace, or Flexport, configured for two-day or next-day delivery coverage.
Each operates a national network of fulfillment centers. ShipBob publishes a US network of approximately 10 to 15 fulfillment centers concentrated in California, Texas, Illinois, Pennsylvania, New Jersey, Georgia, Nevada, and Florida, plus Canadian and UK nodes for international export. ShipMonk operates a similar US footprint with centers in California, Florida, Pennsylvania, Texas, and Nevada. Flowspace runs a distributed network of partner warehouses that expands state coverage on demand. Flexport's US warehouse footprint covers multiple states for the brands using its fulfillment service.
When a brand signs the MSA and ships its first SKUs into the network, the 3PL distributes inventory based on demand modeling, shipping-speed optimization, and partner-warehouse capacity. The brand's nexus footprint follows in lockstep. Multi-node 3PL networks typically place inventory in 4 to 8 states based on demand patterns. A brand on a 3PL's full network has physical nexus in 4 to 8 states the moment they sign the contract, regardless of sales volume in those states.
The number isn't fixed. Networks reconfigure as the 3PL adjusts node placement to meet brand-level shipping-speed commitments and changes in network capacity. A January node map at 5 states can be a June node map at 9 states. The brand's nexus footprint moves with it.
This is the registration and ongoing-monitoring layer TaxCloud is built to operate. TaxCloud calculates across all 13,000+ US jurisdictions through a single API, and the registration apparatus absorbs new-state registrations as the 3PL footprint expands. The brand owns the 3PL relationship and the contract; the registration and filing chain consolidates through one platform rather than building a separate state-by-state filing operation alongside the 3PL's network expansion.
The relocation problem: when your 3PL moves inventory without telling you
The category of nexus surprise unique to 3PLs is the silent relocation. The brand signs an MSA, ships into the network, sees the inventory arrive at the original receiving center, and assumes the placement is stable. The 3PL then redistributes that inventory across the network based on demand patterns and shipping-speed optimization without explicit brand approval.
Standard 3PL contracts grant the provider discretion over node placement. ShipBob's master service agreement and ShipMonk's service terms both reserve the 3PL's right to allocate, transfer, and relocate inventory across the network as the provider determines necessary to fulfill delivery commitments. There is no notice obligation tied to state lines because state-level placement is internal operational data, not a brand-facing service variable.
The result is a discovery gap. The brand operates assuming a known footprint while the 3PL is operating a different one. The first sign that the assumption was wrong is often a state DOR letter: "Our records indicate inventory located in [State] from [date]. Please confirm registration status."
The pattern with surprise inquiries: states share data through marketplace facilitator reports and 1099-K filings. Once one state surfaces a 3PL-driven nexus question, adjacent states with the same 3PL footprint typically follow within 90 to 180 days. The brand reading a single California letter in March is reading a Texas letter in July and a Florida letter in September.
The remediation path differs by how the brand discovered the placement. Inventory present for less than 30 days sits in the transit-vs-storage gray zone in most state DORs' practical posture; inventory present for more than 30 days lands clearly in storage and triggers the full physical-nexus analysis. Brands that catch a recent relocation can act before the DOR contacts them, which keeps voluntary disclosure on the table as the registration path. Brands that surface the placement in response to a letter are in standard registration with full lookback exposure.
A note on the Pennsylvania carve-out for Amazon FBA. Online Merchants Guild v. Hassell, No. 179 M.D. 2021 (Pa. Cmwlth. Ct. Sept. 9, 2022) held that FBA sellers do not have voluntary control over Amazon's placement decisions and therefore do not create Pennsylvania nexus through FBA storage alone. The reasoning does not extend to 3PL relationships. A brand contracting with ShipBob, ShipMonk, Flowspace, or Flexport has voluntarily entered the relationship, agreed to multi-node placement in the MSA, and retains the contractual right to negotiate node terms. The voluntary-control argument doesn't cover that fact pattern.
What your 3PL contract should say about nexus disclosure
The contract clause that should be there but usually isn't: the 3PL must notify the brand at least 30 days before placing inventory in a state where the brand is not already registered. Most standard 3PL contracts have no nexus-disclosure provision. Brands learn this at the state's first letter, not during contract review.
Five clauses make a 3PL contract defensible from a sales tax perspective:
| Clause | Function | What it should say |
|---|---|---|
| New-state placement notice | Brand-side visibility before placement creates nexus | 3PL gives the brand at least 30 days written notice before placing inventory in any state where the brand is not currently registered. |
| Quarterly inventory-state report | Periodic reconciliation deliverable | 3PL delivers a per-quarter report listing each state holding inventory, quantity and SKU count by state, and the dates inventory entered and exited the state. |
| Audit-cooperation provision | Brand's right to obtain records at audit | 3PL agrees to produce inventory placement records, transfer logs, and storage history within a defined period (typically 30 to 45 days) of a state audit notice. |
| Tax-liability indemnification | Allocates risk for undisclosed placements | 3PL indemnifies the brand for sales tax, penalties, and interest arising from placements the 3PL made without giving the contractual notice. |
| Records retention | Minimum retention for placement and storage history | 3PL retains inventory placement and movement records for at least seven years, or longer if state-specific retention rules require it. |
Few standard 3PL MSAs ship with any of these. ShipBob, ShipMonk, and Flexport's published terms generally treat node placement as internal operational data, not a brand deliverable. The brand has to negotiate these clauses in.
Two practical notes on the negotiation. First, the indemnification clause is the most resisted. 3PLs argue that the brand chose the contract knowing how multi-node fulfillment works, and that liability for tax outcomes belongs with the brand. A workable middle is indemnification tied specifically to the notice obligation: if the 3PL gave the contractual 30-day notice, no indemnity; if it didn't, indemnity applies. That puts the risk where the action sits.
Second, the quarterly inventory-state report is often easier to obtain than the contract appears to suggest. The 3PL already runs the report internally for warehouse management. Requesting it as a periodic brand deliverable is asking for a reformat, not new data. Pair the report with the brand's nexus map so the reconciliation produces the audit documentation trail that ties 3PL-side inventory state to the brand's registration map by date. That documentation trail is what surfaces on day one of a state examination, and it is the layer TaxCloud is built to consolidate alongside the registration and filing record.
The same-day and next-day delivery pre-positioning trap
Brands committing to fast delivery in target metros accelerate the nexus footprint by design. Two-day delivery in the lower 48 generally requires 4 to 6 strategically positioned fulfillment centers. Next-day delivery in the top 20 metros typically requires 6 to 10 centers. Each center is physical nexus in its state, regardless of whether sales volume in that state ever crosses the relevant economic threshold.
The math runs against the brand. A Shopify Plus brand at $40M ARR launching a next-day delivery promise in the top 20 metros may need inventory in California, Texas, Illinois, Pennsylvania, New Jersey, Georgia, Florida, Nevada, and Arizona to hit the delivery service-level commitment. That is nine new states of physical nexus, attached to the delivery promise, with no relationship to the brand's existing sales-volume footprint in those states.
The decision shape is unfamiliar. The growth team typically owns the delivery promise; the finance and ops team owns the nexus map. The two conversations rarely intersect until the first state letter arrives. The pattern we see most often is the growth team enabling next-day delivery in Q1 and the finance team learning about the resulting nexus expansion at the Q3 footprint review, three quarters into accumulated unregistered exposure.
The cleaner sequence is to route the delivery promise through the nexus map before the commitment ships. For each target metro, the question to ask is whether the brand is currently registered in the state where the fulfillment center for that metro will sit. If yes, no nexus impact, only operational change. If no, the registration timeline becomes part of the delivery-promise launch plan.
A brand registered in 25 states can layer in next-day delivery to most major metros with little new nexus consequence. A brand registered in 8 states cannot. The delivery promise constrains the operating model differently at each scale, and the constraint should land in the planning conversation, not in the surprise-letter conversation nine months later.
The operating model: discovery, registration, ongoing reconciliation
A $20M to $80M Shopify or Shopify Plus brand running a multi-node 3PL needs three things in steady state: discovery, registration, and ongoing reconciliation. The order matters. Without discovery, registration is incomplete; without ongoing reconciliation, the discovery is stale within a quarter.
Discovery
The starting deliverable is a current per-state inventory map produced by the 3PL. Run quarterly at minimum, monthly when the brand is actively scaling new states or adjusting the delivery promise. The map names every state holding inventory, the SKUs, the duration of placement, and the date inventory arrived. Inventory present for less than 30 days sits in the transit-vs-storage gray zone in most state DORs' practical posture; inventory present for more than 30 days lands clearly in storage and triggers the registration analysis.
Registration
Every state where the inventory-state report shows more than 30 days of continuous placement needs registration, regardless of sales volume in that state. The exemption is narrow: states where the 3PL itself is a registered marketplace facilitator that owns the tax liability on the brand's behalf. This is rare for ecommerce 3PLs and state-specific, because the marketplace facilitator framework was designed for marketplace operators like Amazon and Walmart, not for fulfillment partners. Fulfillment-only 3PLs (ShipBob, ShipMonk, Flowspace, Flexport) are not marketplace facilitators in the statutory sense; the brand remains the seller of record and carries the registration obligation.
Ongoing reconciliation
Quarterly nexus-footprint review against the latest 3PL inventory-state report. Identify any new-state placements since the last review; trigger registration for any that crossed the 30-day threshold; update the contract-side notice and reporting cadence if the 3PL is making placements outside the agreed pattern. The cadence runs monthly for brands at the upper end of $80M or with active 3PL network expansion, and quarterly for brands in steady-state multi-node operation.
The reader here is operating a footprint they did not fully design. The 3PL contract is the lever for changing that. The registration map is the catch-up tool. The ongoing reconciliation is what keeps the map current. TaxCloud is built for that registration and ongoing-compliance layer: calculation across 13,000+ US jurisdictions through one integration, consolidated SST filing across the 24 full member states (Tennessee participates as an associate member and is not counted in that total), the audit documentation trail tying 3PL inventory state to the brand's nexus map by date, and the registration apparatus that absorbs new-state registrations as the 3PL footprint expands.