Customers, locations and totals
Lesson 4 of 30 7 min read
How connectors decide who the customer is, which warehouse fulfils the order, and how the expected payable check protects order totals.
Once you've decided which orders come in, three more decisions shape every order: which Party is the customer, which Location fulfils it, and whether Supply Lens should check the total. Connectors share a common vocabulary for all three, so you can make these decisions the same way across a whole project.
By the end of this lesson you'll be able to choose a customer strategy for B2C and B2B channels, set the fulfilment location, and explain what the expected payable tag does.
Decision 1: who is the customer?
A marketplace order usually belongs to a member of the public your ERP has never heard of. A wholesale order belongs to a known trade account. Connectors give you three tools.
| defaultCustomerId | The Party to use when no customer can be identified from the order. A safety net for B2C channels. |
|---|---|
| alwaysSetDefaultCustomerId | Use the default customer for every order, whatever the order says. Good when the ERP should book all of a channel's sales to one account. |
| useEmailAsPartyIdentifier | Add the customer's email as an identifier, so the downstream system can match the customer by email. Offered by Magento, BigCommerce and B2B Wave. |
Some connectors have their own variations:
- Magento has
guestPartyIdfor orders placed without an account, andpaymentMethodPartyMapto book orders paid a particular way (say, a marketplace payment method) to a specific customer. - Duda has
includeBillingEmailAsCustomerIdentifier, which adds the billing email as an identifier of typeduda-billing-email. - Costco always needs a default customer: every Costco order is assigned to it.
- Epos Now uses its default customer for till transactions when no customer is available.
B2C or B2B?
For a B2C marketplace where the ERP holds one "eBay sales" account, set a default customer and
switch on alwaysSetDefaultCustomerId. For a B2B channel where each order belongs to a trade
account, leave it off and make sure the customer can be matched, for example by email.
Decision 2: which Location fulfils it?
| fulfillmentLocationId / defaultFulfillmentLocationId | The Location assigned as the ship-from warehouse on every imported order. The key name differs by connector, but the meaning is the same. |
|---|
Set this on every order Configuration that offers it. Downstream systems and warehouse Mappings rely on the Location to know where an order ships from.
When the channel also sends a warehouse
Mirakl can send its own warehouse and fulfilment centre codes. If you set
defaultFulfillmentLocationId, it takes precedence and is always used; Mirakl's codes are still
recorded on the Document.
Decision 3: should Supply Lens check the total?
Many order Configurations (BigCommerce, B2B Wave, Mirakl, Wix, Itsperfect and others) have this setting:
| disableExpectedPayableTag | When enabled, stops the expected payable tag being added to imported orders. That tag is used during import to check that the order total Supply Lens calculates matches the amount the channel expected. Disabling it skips the check. |
|---|
Think of the expected payable tag as a receipt check: the channel says "this order came to £42.50", and Supply Lens confirms its own lines, tax and shipping add up to the same. Leave it on unless you have a clear reason. Turning it off means a mismatch in tax or discounts won't be caught at import.
Hilltop Coffee: one shop, two kinds of customer
Hilltop Coffee sells retail on eBay and wholesale on B2B Wave.
- eBay: the ERP has a single account, "eBay Retail". The implementer sets
defaultCustomerIdto that Party and turns onalwaysSetDefaultCustomerId.fulfillmentLocationIdis the main roastery warehouse. - B2B Wave: every café is a trade account.
alwaysSetDefaultCustomerIdstays off,useEmailAsPartyIdentifieris on so cafés are matched by email, and adefaultCustomerIdcatches any order that can't be matched, so nothing is lost.
Both keep the expected payable check on.
Recap
defaultCustomerIdis the fallback;alwaysSetDefaultCustomerIdmakes it apply to every order.- Use email identifiers to match B2B customers; Magento and Duda have their own variations.
- Always set the fulfilment Location; on Mirakl it overrides the marketplace's warehouse codes.
- The expected payable tag checks that Supply Lens's total matches the channel's. Leave it on unless there's a clear reason.
Quick guides for this topic
Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.