How do wholesale/B2B customer net-terms payment history and credit-limit data migrate as customer metadata during a platform switch?
Short answer
Credit limits migrate to Shopify as metafields on the company or company location, because Shopify's business-to-business (B2B) records have no credit-limit field (Shopify developer docs, October 2026). Standard net terms such as net 30 map natively. Payment history and aging stay in your accounting system. A metafield blocks no order, so enforcement takes an app or a custom function.
- Credit-limit field in Shopify B2B
- None: store the limit as a metafieldA company location holds payment terms, catalogs, tax settings, store credit, an external ID, a note and metafields. Nothing stores a limit or an aging balance (October 2026).Source: Shopify developer docs (CompanyLocation object)
- Native hold for an account on stop
- Submit all orders as drafts for reviewSet on the company page for every location, or per location, on every plan. Each order waits on the Drafts page until you create it or the buyer pays an invoice (October 2026).Sources: Shopify Help Center (Creating and managing B2B customers using companies, Creating B2B orders using draft orders, Shopify B2B features by plan)
- Credit-limit enforcement
- An app on any plan, or a custom function on PlusPublic App Store apps with functions run on every plan; custom apps with functions need Shopify Plus. Upro B2B & Wholesale enforces limits at checkout from $30 a month (October 2026).Sources: Shopify developer docs (About Shopify Functions); Monk Commerce (Upro B2B & Wholesale on the Shopify App Store)
- Customer since date
- Set it in the first company importMatrixify sets a company's customer since date only when it creates the company, and a blank becomes the import date. Shopify's companyUpdate mutation can change it later (October 2026).Sources: Matrixify (Companies); Shopify developer docs (companyUpdate mutation)
Deploi’s call
Credit limits migrate into Shopify as metafields that enforce nothing, so we scored business-to-business (B2B) credit limit and order hold management BUILD. The reason is not that Shopify's apps are bad. The data moves easily and then does nothing. A merchant who treats the migration as the project finds the enforcement gap only after go-live (Deploi verdict, September 2026).
BuildBuild a balance-aware gate on the migrated limits when
- 50 or more accounts buy on net terms, which our credit limits record scores BUILD (October 2026).
- Receivables are insured, factored or pledged, and the record warns that shipping past an insurer's limit can void coverage.
- A sales rep can place an order today for an account that's already past due.
WaitCarry limits as data only while
- Wholesale accounts pay up front or by card on file, so nothing is owed, which our credit limits record scores WAIT (October 2026).
- A short list of terms accounts can be held by hand, with order review switched on for each location at risk (Shopify Help Center, October 2026).
- Your enterprise resource planning (ERP) system stays the system of record and blocks orders at entry.
Basis: Build or Buy B2B Credit Limits and Order Holds on Shopify?, our Build vs. Buy decision record, scored BUILD.
Where does each legacy credit field land in Shopify B2B?
Each legacy credit field lands in a native Shopify setting, a metafield or your accounting system, because Shopify's business-to-business (B2B) company location has no field for a credit limit, a credit hold or days-to-pay history (Shopify developer docs, October 2026).
| Legacy credit field | Shopify destination | Native field? |
|---|---|---|
| Payment term such as net 30 | Company location payment terms | Yes, from Shopify's list |
| Deposit requirement | Deposit on the payment terms | Yes, on Shopify Plus only |
| Credit limit | Metafield on the company or location | No |
| Credit hold or account on stop | Submit all orders as drafts for review | A manual hold, on every plan |
| Prepaid balance or credit note | Company location store credit | Yes, under $10,000 USD |
| Aging by 30, 60 and 90 days | Your accounting system | No |
| Days-to-pay and payment history | Your accounting system; migrated orders as a proxy | No |
| Account number in the old system | External ID on the company and location | Yes |
Negotiated terms outside Shopify's list need a mapping decision before import. Don't map a limit to store credit, because store credit is a balance you owe the buyer. Shopify's application programming interface (API) even reports an over-ceiling store credit as exceeding the account's "credit limit" (Shopify developer docs, October 2026), and B2B store credit has rules of its own.
Does a migrated credit limit stop an over-limit order?
A migrated credit limit stops nothing by itself, because no native Shopify setting reads a limit metafield at checkout. A company location on net 30 with a $50,000 limit and $61,000 outstanding can still place its next order. Business-to-business (B2B) enforcement comes from one of three places:
- An App Store app, on any plan. Public apps with functions run on every plan (Shopify developer docs, October 2026). Upro B2B & Wholesale sets limits "by company, customer, location" and enforces them with "order restrictions" at checkout. Upro costs $30 a month on Basic to $299 on Plus and is rated 5.0 on about two dozen reviews (Upro listing, October 2026).
- A custom function, on Shopify Plus only. Shopify's Cart and Checkout Validation Function lists "B2B location order minimums, maximums, or credit limits" among its uses (Shopify developer docs, October 2026). Shopify's Payment Customization Function can instead send a B2B order to draft review, also only on Plus (Shopify developer docs, October 2026).
- A manual hold, on every plan. Switch the location to "Submit all orders as drafts for review", and each order waits until someone approves it (Shopify Help Center, October 2026).
Our credit limits record scores enforcement BUILD (October 2026), because a balance-aware gate has to read live balances from your ledger.
How do companies, terms and limits move into Shopify in bulk?
Companies and company locations move in bulk through Matrixify, the third-party app Shopify's Help Center names for the job (Shopify Help Center, October 2026). Matrixify's companies template carries each location's payment terms, order review setting, external ID, note, metafields and store credit (Matrixify, October 2026). Matrixify's plans import 50 companies per job on Basic, 500 on Big and unlimited on Enterprise, at $20, $50 and $200 every 30 days (Matrixify pricing, October 2026). Matrixify is rated 4.9 on about 1,770 reviews (Matrixify listing, October 2026).
Matrixify sets one company field only at creation. Its customer since date "can be set when creating a new Company, but cannot be updated", and a blank value becomes the import date (Matrixify, October 2026). Shopify's companyUpdate mutation can change the date later (Shopify developer docs, October 2026), so a missed date takes developer work to fix, not a re-import. Load the real date in the first import anyway, or every wholesale account looks new from cutover day.
In what order should wholesale credit data move?
Wholesale credit data should move in six steps, and finance signs off the last one.
- Freeze the legacy credit file and export it with a timestamp, because you'll reconcile against it twice.
- Create companies and company locations first, with the old account number as each external ID and the real customer since date. Shopify requires each company's external ID to be unique (Matrixify, October 2026). A company is "the parent organization for one or more company locations" (Shopify Help Center, October 2026), so headquarters-to-branch account trees flatten to two levels.
- Assign payment terms from Shopify's list before you touch metafields, because terms are native and cheap to get right.
- Write the credit limit and credit status to defined metafields, with the namespace and type set before import, not to the note field.
- Decide who enforces: the enterprise resource planning (ERP) system at order entry, an app, a custom function, or a person working the draft review queue.
- Reconcile the frozen file against the live company list, and have finance sign it off by name.
Customer tags such as net30 or on-hold import with each customer (Shopify Help Center, October 2026), but Shopify sets terms on the company location, not by tag (Shopify Help Center, October 2026). How customer tags and saved segments migrate is a job of its own.
Which credit history has no Shopify destination?
Aging buckets, days-to-pay history, collection notes and credit files have no Shopify destination, so they stay in your accounting system and document store.
- Aging buckets. Shopify's closest view is an order filter for orders "either overdue or due today" (Shopify Help Center, October 2026). Our receivables aging record keeps 30, 60 and 90-day aging in the accounting suite (October 2026).
- Days-to-pay history. A judgment such as "this account always pays at 52 days" lives in a spreadsheet or the enterprise resource planning (ERP) system, not in Shopify.
- Collection notes. A company's note is one free-text field (Shopify developer docs, October 2026), not a case history. How support ticket history relinks to migrated customers is a separate migration.
- Credit applications and guarantees. These are documents, so they belong in your document store.
Referral records and abandoned carts have no Shopify destination either. Referral records stay in the referral app, and Shopify documents no way to import an abandoned cart (Shopify developer docs, October 2026).
When should you not migrate credit data into Shopify at all?
Don't migrate credit data into Shopify when another system owns it, or when nobody has defined it.
Deploi’s point of view
Our own position, from building on Shopify. Kept apart from the sourced facts above.
- What we’ve seen
- The field mapping is never what delays these projects. What delays them is the meeting where finance and sales discover they have been using the words "credit limit" to mean two different things, and that the legacy system was enforcing neither consistently. Run that meeting before the mapping workshop, not after.
- Where we disagree
- The standard replatforming answer is "credit limits go in metafields." That sentence is true and useless. A metafield is storage, not a control. We would rather a client migrate no credit data at all and keep enforcement in the ERP than ship a Shopify metafield that looks like a control and is not one.
- What we refuse to quote
- a fixed price for credit-limit enforcement before we know where the enforcement lives. ERP-side, checkout-function-side and app-side are three different projects with three different cost shapes, and the answer depends on a decision the client has usually not made yet.
Decision records behind this answer
When this answer changes
- Shopify adds a credit-limit field, or a balance check that blocks orders from a company location.
- Shopify lets custom apps with functions run below Shopify Plus, or opens the order review operation to other plans.
- Matrixify lets its companies import update a company's customer since date.
- Matrixify changes its companies limit per plan or the payment terms values its template accepts.
- Upro B2B & Wholesale changes how it enforces credit limits or what it charges.
Follow-up questions
If you're not the typical case
- Do custom payment-term agreements (e.g., net-45 negotiated for one specific account) migrate correctly to Shopify B2B's payment-terms feature, or default to standard terms?
Net 45 migrates exactly, because net 45 is one of Shopify's six net payment terms for business-to-business (B2B) accounts (Shopify Help Center, October 2026).
- How do customer referral-program records (who referred whom, referral rewards owed) migrate as customer metadata during a platform switch?
Referral records don't migrate into Shopify as customer metadata, because Shopify has no referral object: its customer import has no referral column (Shopify Help Center, October 2026).
- How do customer support ticket history and case notes (from the old helpdesk) get linked to migrated customer records in the new Gorgias/Zendesk-Shopify setup?
Helpdesk history links to migrated Shopify customers by email address, not customer ID, so an email changed in migration orphans tickets.
- How do customer tags and segments built up over years on the old platform migrate to Shopify's customer tagging and segmentation system?
Customer tags migrate through Shopify's customer import file, in a comma-separated Tags column that Shopify treats as not case sensitive (Shopify Help Center, October 2026).
- What happens to abandoned-cart records and their associated recovery-email history when migrating customer/cart data to Shopify?
Abandoned-cart records don't migrate to Shopify, because Shopify documents no way to import one: its developer tools read abandoned checkouts but can't create them (Shopify developer docs, October 2026).
Related questions
- How exactly do net payment terms (Net 30/60/90) work for B2B customers on Shopify, from invoice to payment?
Shopify's business-to-business (B2B) net terms set a due date of net 7, 15, 30, 45, 60 or 90 days on the order (Shopify Help Center, October 2026).
- Is there a real store-credit solution for B2B customers, or only manual workarounds today?
Shopify business-to-business (B2B) store credit is native: you issue it to a company location, and its authorized buyers spend it (Shopify Help Center, October 2026).
- How do multi-location company hierarchies (headquarters plus regional branches, each with different pricing) migrate to Shopify B2B's company/location model?
Multi-location hierarchies flatten to only two levels on Shopify business-to-business (B2B): a company and its locations.
Sources
Every figure on this page traces to one of these. Official and vendor pages are checked on the date shown; Deploi records are our own published decisions.
- Shopify developer docs, CompanyLocation object
- Shopify Help Center, Creating and managing B2B customers using companies
- Shopify Help Center, Setting up payment terms in B2B
- Shopify Help Center, Creating B2B orders using draft orders
- Shopify Help Center, Shopify B2B features by plan
- Shopify developer docs, About Shopify Functions
- Shopify developer docs, Cart and Checkout Validation Function API
- Shopify developer docs, Payment Customization Function API
- Monk Commerce, Upro B2B & Wholesale on the Shopify App Store
- Shopify developer docs, storeCreditAccountCredit mutation
- Shopify Help Center, Setting up store credit for B2B
- Matrixify, Companies
- Matrixify, Pricing
- ITissible, Matrixify: Data Export Import on the Shopify App Store
- Shopify developer docs, Company object
- Shopify Help Center, Importing and exporting customer lists
- Shopify developer docs, companyUpdate mutation
- Shopify developer docs, AbandonedCheckout object
- Deploi Build vs. Buy, Build or Buy B2B Credit Limits and Order Holds on Shopify?
- Deploi Build vs. Buy, ERP vs. Shopify: Who Should Own B2B Pricing?
- Deploi Build vs. Buy, Build or Buy Receivables Aging and Collections on Shopify?