# How do wholesale/B2B customer net-terms payment history and credit-limit data migrate as customer metadata during a platform switch?

Reviewed by Martin Dejnicki, Director of SEO & AI Search · facts verified October 11, 2026 · canonical: https://deploi.ca/shopify/faq/b2b-net-terms-history-credit-limits-migration

## 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation), 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 metafield. A 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). ([Shopify developer docs, CompanyLocation object](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation))
- **Native hold for an account on stop:** Submit all orders as drafts for review. Set 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). ([Shopify Help Center, Creating and managing B2B customers using companies](https://help.shopify.com/en/manual/b2b/companies-and-customers/creating-companies); [Shopify Help Center, Creating B2B orders using draft orders](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders); [Shopify Help Center, Shopify B2B features by plan](https://help.shopify.com/en/manual/b2b/getting-started/plan-features))
- **Credit-limit enforcement:** An app on any plan, or a custom function on Plus. Public 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). ([Shopify developer docs, About Shopify Functions](https://shopify.dev/docs/apps/build/functions); [Monk Commerce, Upro B2B & Wholesale on the Shopify App Store](https://apps.shopify.com/upro-credit-limit-b2b-and-wholesale))
- **Customer since date:** Set it in the first company import. Matrixify 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). ([Matrixify, Companies](https://matrixify.app/documentation/companies/); [Shopify developer docs, companyUpdate mutation](https://shopify.dev/docs/api/admin-graphql/latest/mutations/companyUpdate))

## 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).

**BUILD: Build a balance-aware gate on the migrated limits when**

- 50 or more accounts buy on net terms, which [our credit limits record](https://deploi.ca/shopify/build-vs-buy/b2b-credit-limit-and-order-hold-management) 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.

**WAIT: Carry limits as data only while**

- Wholesale accounts pay up front or by card on file, so nothing is owed, which [our credit limits record](https://deploi.ca/shopify/build-vs-buy/b2b-credit-limit-and-order-hold-management) 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](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders), October 2026).
- Your enterprise resource planning (ERP) system stays the system of record and blocks orders at entry.

## 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation), October 2026).

**Five of eight legacy credit fields have a native home, three with conditions; credit limits, aging and history don't**

| 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 |

Sources: [Shopify developer docs, CompanyLocation object](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation); [Shopify Help Center, Setting up payment terms in B2B](https://help.shopify.com/en/manual/b2b/checkout-and-orders/payment-terms); [Shopify Help Center, Creating B2B orders using draft orders](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders); [Shopify Help Center, Setting up store credit for B2B](https://help.shopify.com/en/manual/b2b/checkout-and-orders/store-credit). Verified October 11, 2026.

[Negotiated terms outside Shopify's list](https://deploi.ca/shopify/faq/account-specific-payment-terms-migration) 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](https://shopify.dev/docs/api/admin-graphql/latest/mutations/storeCreditAccountCredit), October 2026), and [B2B store credit](https://deploi.ca/shopify/faq/b2b-store-credit-solutions-vs-workarounds) 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](https://shopify.dev/docs/apps/build/functions), 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](https://apps.shopify.com/upro-credit-limit-b2b-and-wholesale), 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](https://shopify.dev/docs/api/functions/latest/cart-and-checkout-validation), October 2026). Shopify's Payment Customization Function can instead send a B2B order to draft review, also only on Plus ([Shopify developer docs](https://shopify.dev/docs/api/functions/latest/payment-customization), 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](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders), October 2026).

[Our credit limits record](https://deploi.ca/shopify/build-vs-buy/b2b-credit-limit-and-order-hold-management) 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](https://help.shopify.com/en/manual/b2b/companies-and-customers/creating-companies), October 2026). Matrixify's companies template carries each location's payment terms, order review setting, external ID, note, metafields and store credit ([Matrixify](https://matrixify.app/documentation/companies/), 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](https://matrixify.app/pricing/), October 2026). Matrixify is rated 4.9 on about 1,770 reviews ([Matrixify listing](https://apps.shopify.com/excel-export-import), 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](https://matrixify.app/documentation/companies/), October 2026). Shopify's companyUpdate mutation can change the date later ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/mutations/companyUpdate), 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.

1. **Freeze the legacy credit file** and export it with a timestamp, because you'll reconcile against it twice.
1. **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](https://matrixify.app/documentation/companies/), October 2026). A company is "the parent organization for one or more company locations" ([Shopify Help Center](https://help.shopify.com/en/manual/b2b/companies-and-customers/creating-companies), October 2026), so [headquarters-to-branch account trees](https://deploi.ca/shopify/faq/b2b-multi-location-company-hierarchy-migration) flatten to two levels.
1. **Assign payment terms from Shopify's list** before you touch metafields, because terms are native and cheap to get right.
1. **Write the credit limit and credit status to defined metafields**, with the namespace and type set before import, not to the note field.
1. **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.
1. **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](https://help.shopify.com/en/manual/customers/import-export-customers), October 2026), but Shopify sets terms on the company location, not by tag ([Shopify Help Center](https://help.shopify.com/en/manual/b2b/checkout-and-orders/payment-terms), October 2026). [How customer tags and saved segments migrate](https://deploi.ca/shopify/faq/customer-tags-and-segments-migration) 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](https://help.shopify.com/en/manual/b2b/checkout-and-orders/payment-terms), October 2026). [Our receivables aging record](https://deploi.ca/shopify/build-vs-buy/accounts-receivable-aging-and-collections) 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/Company), October 2026), not a case history. [How support ticket history relinks to migrated customers](https://deploi.ca/shopify/faq/support-ticket-history-migration-gorgias-zendesk) 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](https://deploi.ca/shopify/faq/referral-program-records-migration), and Shopify documents no way to [import an abandoned cart](https://deploi.ca/shopify/faq/abandoned-cart-records-recovery-email-migration) ([Shopify developer docs](https://shopify.dev/docs/api/admin-graphql/latest/objects/AbandonedCheckout), 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.

> **When not to do this**
> - **When an enterprise resource planning (ERP) system already owns credit.** Shopify holds a read-only copy at most, and enforcement stays with the source of truth. [Our record on who should own wholesale pricing](https://deploi.ca/shopify/build-vs-buy/b2b-pricing-data-ownership) applies the same rule to prices: one system authors the number, and the sync runs one direction (October 2026).
> - **When the limit list is short.** Twenty accounts with negotiated limits need a named owner, a weekly aging report and draft review on the accounts at risk, not a metafield design.
> - **When finance hasn't agreed what the limit means.** Order value at placement, or open balance including unfulfilled orders? Answer that before anyone models it.
> - **When accounts pay up front or by card on file.** Nothing is owed, so there's nothing to enforce, and [our credit limits record](https://deploi.ca/shopify/build-vs-buy/b2b-credit-limit-and-order-hold-management) scores that WAIT (October 2026).

## Deploi's point of view

**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.

## 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

- [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?](https://deploi.ca/shopify/faq/account-specific-payment-terms-migration)
- [How do customer referral-program records (who referred whom, referral rewards owed) migrate as customer metadata during a platform switch?](https://deploi.ca/shopify/faq/referral-program-records-migration)
- [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?](https://deploi.ca/shopify/faq/support-ticket-history-migration-gorgias-zendesk)
- [How do customer tags and segments built up over years on the old platform migrate to Shopify's customer tagging and segmentation system?](https://deploi.ca/shopify/faq/customer-tags-and-segments-migration)
- [What happens to abandoned-cart records and their associated recovery-email history when migrating customer/cart data to Shopify?](https://deploi.ca/shopify/faq/abandoned-cart-records-recovery-email-migration)

## Sources

1. [Shopify developer docs, CompanyLocation object](https://shopify.dev/docs/api/admin-graphql/latest/objects/CompanyLocation), checked October 11, 2026
2. [Shopify Help Center, Creating and managing B2B customers using companies](https://help.shopify.com/en/manual/b2b/companies-and-customers/creating-companies), checked October 11, 2026
3. [Shopify Help Center, Setting up payment terms in B2B](https://help.shopify.com/en/manual/b2b/checkout-and-orders/payment-terms), checked October 11, 2026
4. [Shopify Help Center, Creating B2B orders using draft orders](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders), checked October 11, 2026
5. [Shopify Help Center, Shopify B2B features by plan](https://help.shopify.com/en/manual/b2b/getting-started/plan-features), checked October 11, 2026
6. [Shopify developer docs, About Shopify Functions](https://shopify.dev/docs/apps/build/functions), checked October 11, 2026
7. [Shopify developer docs, Cart and Checkout Validation Function API](https://shopify.dev/docs/api/functions/latest/cart-and-checkout-validation), checked October 11, 2026
8. [Shopify developer docs, Payment Customization Function API](https://shopify.dev/docs/api/functions/latest/payment-customization), checked October 11, 2026
9. [Monk Commerce, Upro B2B & Wholesale on the Shopify App Store](https://apps.shopify.com/upro-credit-limit-b2b-and-wholesale), checked October 11, 2026
10. [Shopify developer docs, storeCreditAccountCredit mutation](https://shopify.dev/docs/api/admin-graphql/latest/mutations/storeCreditAccountCredit), checked October 11, 2026
11. [Shopify Help Center, Setting up store credit for B2B](https://help.shopify.com/en/manual/b2b/checkout-and-orders/store-credit), checked October 11, 2026
12. [Matrixify, Companies](https://matrixify.app/documentation/companies/), checked October 11, 2026
13. [Matrixify, Pricing](https://matrixify.app/pricing/), checked October 11, 2026
14. [ITissible, Matrixify: Data Export Import on the Shopify App Store](https://apps.shopify.com/excel-export-import), checked October 11, 2026
15. [Shopify developer docs, Company object](https://shopify.dev/docs/api/admin-graphql/latest/objects/Company), checked October 11, 2026
16. [Shopify Help Center, Importing and exporting customer lists](https://help.shopify.com/en/manual/customers/import-export-customers), checked October 11, 2026
17. [Shopify developer docs, companyUpdate mutation](https://shopify.dev/docs/api/admin-graphql/latest/mutations/companyUpdate), checked October 11, 2026
18. [Shopify developer docs, AbandonedCheckout object](https://shopify.dev/docs/api/admin-graphql/latest/objects/AbandonedCheckout), checked October 11, 2026
19. [Deploi Build vs. Buy, Build or Buy B2B Credit Limits and Order Holds on Shopify?](https://deploi.ca/shopify/build-vs-buy/b2b-credit-limit-and-order-hold-management), checked October 11, 2026, Deploi research
20. [Deploi Build vs. Buy, ERP vs. Shopify: Who Should Own B2B Pricing?](https://deploi.ca/shopify/build-vs-buy/b2b-pricing-data-ownership), checked October 11, 2026, Deploi research
21. [Deploi Build vs. Buy, Build or Buy Receivables Aging and Collections on Shopify?](https://deploi.ca/shopify/build-vs-buy/accounts-receivable-aging-and-collections), checked October 11, 2026, Deploi research
