BigCommerce Setup - B2B
Synchronize Business Central customers, contacts, and addresses with BigCommerce B2B companies, users, and locations — in both directions — and process B2B orders against the right customer.
Configure the Sales Channel for B2B
On the sales channel, General FastTab, turn on Enable B2B Features.
A B2B FastTab then appears with four fields.
Note: Toggling this field also creates three default contact roles for the channel: Admin, Senior Buyer, and Junior Buyer, matching BigCommerce's built-in roles. If the channel was created by the setup wizard and the roles are missing, toggle the field off and back on.
Customers FastTab
| Field | Values | Purpose |
|---|---|---|
| New Customer Behavior | Auto Create / Sales Channel / Manual Default: Auto Create |
Also gates B2B customer creation. To BC customer only creates a Business Central customer when this is set to Auto Create. |
B2B FastTab
| Field | Values | Purpose |
|---|---|---|
| New B2B Customer Template Code | Customer Template | Template used when CSM creates a Business Central customer for a company. The template must have a No. Series. |
| New Company Behavior | Manual / Auto Create Default: Manual |
What happens when an order arrives for an unrecognized company. |
| New Company Contact Behavior | Manual / Auto Create Default: Manual |
Applies only when a company was just auto-created. |
| New Company Location Behavior | Manual / Auto Create Default: Manual |
Applies only when a company was just auto-created. |
API Data FastTab
Confirm API Engine Execution Module is populated. It normally matches the sales channel code. If it is blank, use the Execution Module action to load the defaults.
The most common failure:If the execution module is blank or missing a row for an operation, B2B actions fail silently. No dialog appears. Check Last External Update Status and Last External Update Result on the record — "…is not implemented for this Sales Channel" means the execution module is the problem.
Companies
Open CSM Companies from the sales channel (Actions › B2B › Companies), or search for it and filter by channel.
| Field | Purpose |
|---|---|
| BC Customer No. | The Business Central customer this company posts against. Required before the company can be sent to BigCommerce. |
| Main Contact Name | The company's primary contact. Required by BigCommerce. |
| Default Billing Location | Supplies the company's billing address to BigCommerce. |
| Default Shipping Location | Supplies the company's default shipping address. |
| Status | Pending, Approved, Rejected, Inactive, or Deleted. Deleted is BigCommerce-specific. |
| External Company Status | Read-only. The raw status value as BigCommerce reports it. |
| External ID | The BigCommerce company ID. Populated when the company is first sent or retrieved. |
| External Requires Update | Set automatically on any change. Drives the outbound automations. |
| Status Requires Update | Set automatically when Status changes. Drives the status automation. |
Creating a company in Business Central and Sending It
- Create a new CSM Company and set BC Customer No. CSM copies the customer name and offers to create contacts and locations from the customer's Business Central contacts and ship-to addresses: All Contacts & Locations, Selected Contacts and Locations, or None.
- Review the created contacts and locations. On each location set Is Billing and Is Shipping, and mark one Is Default Billing and one Is Default Shipping.
- Set Main Contact Name, Default Billing Location, and Default Shipping Location on the company.
- Choose Actions › Send to channel › Company info. This creates the company on BigCommerce and stores its External ID.
- Choose Actions › Retrieve from channel › Contacts to pick up the BigCommerce user IDs, then send contacts and locations.
-
CSM validates these before every company send. Missing values raise an error naming the field.
- The sales channel's API Channel Identifier
- The company's BC Customer No.
- On the default billing location: Billing Phone No. and Billing Company Country Code
- On the main contact: Email, First Name, Last Name
- The location and contact checks only run when a default billing location and main contact are actually assigned. If they are blank, the send passes validation in Business Central and is then rejected by BigCommerce — set both before sending.
- Send the company first and let it acquire an External ID. Sending a company twice without an External ID creates a second company on BigCommerce.
Retrieving Companies Created on BigCommerce
- On the CSM Companies list, filtered to one sales channel, choose Actions › Retrieve from channel › Companies.
- On each retrieved company, choose Actions › Synchronize › To BC customer to create and link a Business Central customer from the B2B customer template, or set BC Customer No. manually to link an existing one.
- Choose Retrieve from channel › Contacts, then on each contact use Synchronize › Link or create BC contact.
- Choose Retrieve from channel › Locations, then on each location set Company Location Type and use Synchronize › To linked address.
- The companies list must be filtered to a single sales channel or the retrieve action errors with
No filter found for CSM Sales Channel.
Locations
A CSM Company Location links to either the Business Central customer record or one of its ship-to addresses, set by Company Location Type (Customer or Ship-To) and Location Type Code.
BigCommerce channels add four flags to each location: Is Billing, Is Shipping, Is Default Billing, Is Default Shipping. A location must be marked Is Billing before it can be Is Default Billing, and the same for shipping. Setting a default clears the flag on every other location for that company.
Note: BigCommerce does not distinguish bill-to from ship-to the way Business Central does. Both addresses come from the same BigCommerce address record. Use the Copy Billing to Shipping action on the location card to fill empty shipping fields from billing.
Contact Roles
Turning on Enable B2B Features creates three contact roles matching BigCommerce's built-in roles: Admin, Senior Buyer, and Junior Buyer. Assign one to each contact using the Role field on the CSM Company Contact.
Not applicable on BigCommerce:The Send to channel › Contact role and Retrieve from Channel › Contact roles actions on the CSM Contact Roles page, and the Role Assignments action on a contact, have no BigCommerce implementation. Roles are the three local roles above; they are not synchronized.
Orders
The standard BigCommerce order API does not return company information. When Enable B2B Features is on, CSM makes an additional call after order retrieval to fetch the B2B order and populate the company fields. With B2B off, those fields stay blank and no B2B matching occurs.
A B2B FastTab appears on B2B orders with the purchasing entity fields:
| Field | Content |
|---|---|
| Purchasing Entity Company Name | Also shown on the General FastTab under Buyer Name. |
| Purchasing Entity Company ID | The BigCommerce company ID used for matching. |
| Purchasing Entity Customer ID | The BigCommerce B2B user ID. |
| Purchasing Entity Customer Email | The buyer's email. |
| Purchasing Entity Customer First / Last Name | The buyer's name. |
Note: The B2B FastTab is hidden on any order with a blank Purchasing Entity Company ID, even on a B2B-enabled channel. A missing tab normally means a storefront order rather than a B2B order.
How CSM matches an Order to a Customer
CSM finds the CSM Company whose External ID equals the order's Purchasing Entity Company ID, then uses that company's BC Customer No. Matching is by External ID only.
If no match is found:
- New Company Behavior = Manual — the order errors and waits for you to create a CSM Company and link it to a customer.
- New Company Behavior = Auto Create — CSM creates the CSM Company (and, if configured, contact and location) from the order data with status Approved, then still stops the order.
In both cases the order goes to Error status until a Business Central customer is linked. Auto Create saves the data entry; it does not complete the order.
Auto-created CSM records hold no address data yet. Link them to Business Central customers, contacts, and ship-to addresses after populating the address fields, or you will push blank addresses back to BigCommerce.
Automations
Search API Automation and open the automation group B2B_MANAGEMENT_<sales channel code>. Each sales channel has its own group.
| Step | Direction | Frequency |
|---|---|---|
| GET_COMPANIES | Inbound | 15 minutes |
| GET_CONTACTS | Inbound | 15 minutes |
| GET_LOCATIONS | Inbound | 15 minutes |
| SEND_COMPANIES | Outbound | 10 minutes |
| SEND_CONTACTS | Outbound | 10 minutes |
| SEND_LOCATIONS | Outbound | 10 minutes |
| SEND_COMPANY_STATUS | Outbound | 10 minutes |
The B2B automation group and all seven steps are created with Enabled = No. Enable the group and the steps you want before expecting anything to synchronize.
Require Update Only
The three bulk send steps carry the automation property REQUIRE_UPDATE_ONLY set to true, so they send only records flagged External Requires Update. Any edit to a company, contact, or location sets that flag automatically.
SEND_COMPANY_STATUS ships without that property, which means it sends status for every company on the channel rather than only those flagged Status Requires Update. Add the property manually if you want it filtered.
Running Automations
- API Automation page — select the group and choose Run
- CSM Administrator Role Center — Run B2B Automation Now
- Job Queue — codeunit
70338473
Inbound steps skip companies with a blank External ID. A company that has never been sent to BigCommerce is never picked up — send it once manually first.
Maintenance
Company status
Change Status on the CSM Company, then choose Actions › Send to channel › Company status, or let the SEND_COMPANY_STATUS automation pick it up.
Pushing Business Central Changes to BigCommerce
| Object | Synchronize | Send |
|---|---|---|
| Company | Actions › Synchronize › From BC customer | Actions › Send to channel › Company info |
| Contact | Actions › Synchronize › From BC contact | Actions › Send to channel › Contact |
| Location | Actions › Synchronize › From BC address | Actions › Send to channel › Location |
Synchronizing sets External Requires Update, so the outbound automations will pick the record up on their next run. Address fields come from the linked CSM location, so make sure the location is linked to the right Business Central address.
Pulling BigCommerce Changes into Business Central
| Object | Retrieve | Update Business Central |
|---|---|---|
| Companies | Retrieve from channel › Companies | Synchronize › To BC customer |
| Contacts | Retrieve from channel › Contacts | Synchronize › To BC contact, or Link or create BC contact |
| Locations | Retrieve from channel › Locations | Synchronize › To linked address |
Bulk Update
Actions › Send to channel › All Info sends the company, its status, all contacts, and all locations in one step. It does not stop if one part fails — check Last External Update Result on each record afterwards.
Suppressing name synchronization
To stop company names synchronizing, enable a CSM Sales Operation Rule with rule code B2B-S-COMP-NAME (Business Central to CSM) or B2B-U-COMP-NAME (CSM to Business Central).
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| An action appears to do nothing | Check Last External Update Status and Last External Update Result. "Not implemented" means the API Engine Execution Module is missing or incomplete. |
| Company send rejected by BigCommerce | No default billing location or main contact assigned, so Business Central skipped those validations. Assign both and resend. |
| Nothing synchronizes automatically | The B2B automation group and its steps ship disabled. Enable them. |
| Status changes are not reaching BigCommerce | Enable SEND_COMPANY_STATUS, or send the status manually from the company card. |
| Contacts or locations skipped by automations | The parent company has a blank External ID. Send the company first. |
| Duplicate companies on BigCommerce | A company with a blank External ID was sent twice. Retrieve companies and reconcile the External IDs. |
| B2B connection fails | Re-run the wizard's B2B connection test. The message distinguishes a missing token scope from B2B Edition not being enabled on the store. |