Shopify B2B & Wholesale Xero Integration | Hyve Post to Xero

Hyve Post to Xero syncs your Shopify B2B and wholesale orders into Xero as invoices in your customer’s company name, on their payment terms. It handles trade orders alongside your retail orders, from the same Shopify store and into the same Xero organisation.


You can try the app free for 30 days, and setup by our support team is included at no extra charge. Install Hyve Post to Xero from the Shopify App Store.



At a glance

  • Works with Shopify’s built-in B2B on any Shopify plan, and with wholesale apps
  • One Xero invoice per order, addressed to the company rather than the buyer
  • Orders on payment terms post as soon as they are placed, with the right due date
  • Invoices arrive as Draft for you to check, or Approved and ready to chase
  • The customer’s PO number on the invoice reference field
  • Retail and wholesale sales kept apart in Xero
  • Part payments, refunds and part shipments all recorded in Xero
  • Stock and cost of goods tracked in Xero, when your Shopify SKUs match your Xero items

How to read this page: Yes, you can turn this on means a switch you control in the app. Included in setup means you email us and we switch it on for you.




Which stores does this work for?

Do I need Shopify Plus?

No. Shopify’s built-in B2B features, such as Companies and payment terms, are available on every Shopify plan, and the app reads the Company and payment terms straight from each order. It also works with wholesale apps such as SparkLayer, BSS B2B and Wholesale Gorilla: the app can use the Company field on the billing address, and we can read the PO number from wherever your wholesale app puts it, such as the order notes.

Read more: Use the company name as the Xero contact



Can I sell retail and wholesale from the same store?

Yes. Retail and wholesale orders can post differently, for example to different accounts or contacts, while everything stays in one Xero organisation. See “Running retail and wholesale together” below.



Can several Shopify stores post into one Xero organisation?

Yes. Install the app on each store and connect them all to the same Xero organisation. Each store can have its own invoice prefix, branding theme or tracking category, so you can tell their sales apart.

Read more: Posting orders from multiple Shopify stores into a single Xero file



Can one store post into two Xero organisations?

No. Each Shopify store connects to one Xero organisation.




Customers and contacts

Will the invoice go to the company or to the person who ordered?

Either, you choose. By default the invoice goes to the person who ordered, matched by email address and then name. Turn on Use the order’s company name as the Xero contact in Setup - Advanced, and orders go to the Xero contact with the company’s name, taken from the Shopify B2B Company or, if there isn’t one, the Company field on the billing address.



Can a customer always go to one particular Xero contact?

Yes, you can turn this on. Tag the customer in Shopify with their Xero contact ID, and every order from them goes to that contact. A tag always wins over company or email matching.

Read more: Override Shopify Customer with Xero Contact ID customer tag

Read more: Use the company name as the Xero contact



Several people buy for the same company. Do they share one contact?

Yes, new buyers do. Their orders go to the one company contact, and the invoicing email you set on that contact is kept rather than replaced by each buyer’s email. A buyer who already has their own Xero contact keeps it; merge their contact into the company contact in Xero to bring them across.

Read more: Keeping the invoicing email on a company contact



Our customer has several branches. Can each have its own contact?

Included in setup. We can match on the Shopify company location instead, so each branch or site gets its own Xero contact, named after the location in Shopify.

Read more: One Xero contact per Shopify B2B company location



What happens if no matching Xero contact exists?

The app creates a new contact named after the company, and you can edit its details in Xero. If the buyer’s email already belongs to another Xero contact, the first order can go there instead, so create each company’s contact in Xero, with the exact Shopify Company name, before you start.

Read more: How we match a Shopify customer to a Xero contact



Can the company’s VAT or ABN number go on the Xero contact?

Included in setup. When the app creates a company’s Xero contact, it adds the tax registration number from the Shopify B2B company. For company contacts that already exist in Xero, add the number there once.

Read more: Sync a company’s VAT or ABN number to its Xero contact




Invoices and payment terms

Does each order get its own invoice in Xero?

Yes. By default every Shopify order posts to Xero as its own invoice, addressed to your customer and ready to send and chase. Grouping orders into one summary invoice is optional and off by default.



Can orders on payment terms go to Xero before they are paid?

Yes, you can turn this on. Choose Include unpaid orders under Auto sync orders in Setup - Advanced. Orders on terms such as Net 30 then post to Xero as invoices as soon as they are placed, and a payment is added once Shopify shows the order as paid.

Read more: Auto Sync orders



Can invoices arrive in Xero as Draft so we can check them first?

Yes, you can turn this on. Choose Draft or Approved separately for unpaid and paid orders. Unpaid orders arrive as Draft by default; set them to Approved and they show as Awaiting Payment (Xero’s list of what you are owed) straight away. Xero won’t take a payment on a draft, so drafts need approving before payments are added. If you track stock in Xero, note that Xero refuses an Approved invoice for an item with no stock left, while drafts aren’t checked.

Read more: Post invoices as Draft or Approved



Where does the due date come from?

From the Shopify B2B order’s payment terms: a Net 30 order placed on 1 March is due on 31 March in Xero. You can switch to each customer’s payment terms in Xero instead. When an order is marked paid its due date resets to the order date; keeping the original date is included in setup.

Read more: Set invoice due dates from your Xero payment terms



Can we invoice only once goods ship?

Yes, you can turn this on. Turn on Auto sync orders on order fulfilled, then Only sync partially or fully fulfilled orders, in Setup - Advanced. Orders then post to Xero only once they ship.

Read more: Auto Sync orders on Order Fulfilled



Can we bill each shipment separately?

Included in setup. If you ship orders in parts, we can raise an invoice for each shipment, covering only the items in it.

Read more: Invoice each shipment separately



Can we send one invoice per customer each month?

The app creates one invoice per order. Xero’s customer statements can show all of a customer’s invoices for the month in one document. If you need a single combined invoice, talk to us first and we will suggest the best way for your setup.



Can invoices be emailed to our customers automatically?

No, on purpose. We leave sending to you so you can check each invoice before your customer sees it. You can send them in bulk from the Awaiting Payment list in Xero.



Can we use our own invoice numbers?

Yes. Invoices use the Shopify order number, and you can add a prefix such as “WS-” in the app. If you would rather Xero numbers them, we can set that up and put the order number in the reference.

Read more: Add a prefix to your Xero invoice numbers



Can wholesale invoices use a different branding theme?

Included in setup. We can set the Xero branding theme used for synced invoices, for example one per store or brand.

Read more: Use a specific Xero branding theme for synced invoices



Do Shopify draft orders and staff-created orders sync?

Yes, once they become orders. Nothing is sent while a draft order is still a draft. When it is completed it posts like any other order, as a Draft or Approved invoice depending on your settings.

Read more: Shopify draft orders and when they reach Xero




What appears on the invoice

Can the customer’s PO number appear on the invoice?

Included in setup. You choose what goes in the Xero invoice reference. It can be the PO number, the order note, any other detail on the Shopify order, or a mix of these, such as “PO 4521 - Deliver to back door”. We can read the PO number from Shopify's own PO field or from wherever your wholesale app puts it, such as the order notes.

Read more: Put a PO number or custom reference on your Xero invoices



Do our wholesale prices and discounts carry through?

Yes. Each invoice uses the prices and discounts the customer was actually charged on the Shopify order, so customer-specific wholesale pricing shows in Xero as it was sold.



Can delivery instructions or other checkout details be shown?

Included in setup. Details collected at checkout, such as a delivery date or delivery instructions, can be added to the line descriptions on the invoice. The order note can go in the reference, but not on the lines.

Read more: Show delivery dates or other order details on invoice lines



What about tax-exempt customers?

Invoices carry the tax Shopify charged, so an order from a tax-exempt customer posts to Xero without tax. Which Xero tax rate those lines use can be set to match how your accountant wants them reported.

Read more: Custom Tax Mapping



Can we invoice customers in their own currency?

Yes. Orders placed in another currency post to Xero in that currency, as long as the currency is added in your Xero organisation.

Read more: Selling in more than one currency




Payments

What happens when a customer pays in parts?

Each amount you take in Shopify posts to the Xero invoice as its own payment, and the invoice shows the balance still owing. The invoice needs to be Approved, because Xero won’t add payments to a draft.



If we record a payment in Xero, does Shopify update?

No. The sync runs one way, from Shopify to Xero. Pick one place to record each payment: mark the order paid in Shopify and let the app post the payment, or record the payment in Xero yourself.

If you record trade payments in Xero, turn off the Payments switch for your trade payment method, such as bank transfer, in Setup - Payouts. Those invoices then stay as Awaiting Payment for you to reconcile in Xero, while retail card payments keep posting as before. To stop payments for every order, turn off Post payments to Xero instead.

Read more: Sync invoices without posting payments



What about PayPal?

Each PayPal order posts as a paid invoice to your PayPal bank account in Xero, ready to match against the PayPal bank feed. The app can also post the actual PayPal fee for each order as a separate bill.

Read more: Reconciling PayPal orders in Xero



What about Afterpay?

Afterpay payments go to an Afterpay clearing account, a holding account in Xero. Fees are worked out from the rate you enter in the app and posted as a separate bill. When Afterpay pays you, you reconcile the deposit as a transfer out of the clearing account.

Read more: Reconciling Afterpay orders in Xero



Do Amazon and eBay orders sync?

Amazon and eBay orders that come into Shopify, for example through a marketplace app, can post to Xero like any other order. The app does not connect to Amazon or eBay directly, so it can’t read their settlements, and orders that never reach Shopify are not synced. Once you install, our team can look at your marketplace orders and confirm the best setup.




Running retail and wholesale together

Can wholesale sales post to a different account from retail?

Included in setup. Using a Shopify order tag or customer tag, we post wholesale orders to their own revenue account, tax rate, contact or tracking category (a label Xero uses to split your reports), so retail and wholesale show separately in Xero.

Read more: Send wholesale orders to a different Xero account



Can we sync only wholesale orders?

Included in setup. We can limit syncing to orders with a particular tag, or to orders paid with a particular payment method, such as your on-account or Net 30 option, so only your wholesale orders reach Xero.

Read more: Sync only some of your orders, using order tags



Can we summarise retail orders but keep B2B invoices separate?

Yes. Summarising is set per payment method. If retail customers pay by card and trade customers pay on account or by bank transfer, card orders can be grouped into one invoice per day or per payout (each Shopify deposit to your bank), while every B2B order keeps its own invoice. B2B orders paid through the same payment method as your retail orders, such as a card through Shopify Payments, go into the summary too.

Read more: Summarised invoices




When an order changes

Will re-posting an order create a duplicate invoice?

No. Any order can be re-posted from Dashboard - Orders, and the app updates the invoice it created rather than making a second one. It only updates invoices it created itself. Run one connector at a time, though: if another app also sends your orders to Xero, each order is invoiced twice.

Read more: Will re-posting an order create a duplicate invoice?



What if we edit the invoice in Xero?

Re-posting rebuilds the invoice from the Shopify order and your app settings, so changes made directly in Xero are replaced. Decide where changes are made, in Shopify or in Xero, and stick to it. If you finish invoices in Xero, for example to set final quantities or weights, don’t re-post those orders.

Read more: How to Post or Re-Post your orders



How does Hyve Post to Xero handle refunds?

Refunds post as credit notes applied to the original invoice. A credit note can’t be applied to a draft, so if the invoice is still a draft, apply it in Xero after you approve the invoice.

Read more: Refunding part of an order




Switching from another app

We use another connector. Can we switch?

Yes. Turn off the old connector’s order sync on the day ours starts, so no order is invoiced twice. The app never changes invoices another app created, and older orders can still be posted to Xero from the app.

Read more: Posting older orders to Xero




Stock and cost of goods

Does stock update in Xero when we sell?

Yes, for products whose SKU matches a tracked item in Xero. Each sale reduces the quantity in Xero and records the cost of goods sold. Each tracked item needs a cost in Xero, otherwise the cost of goods posts as zero.

Read more: Does inventory sync from Shopify to Xero?



What about purchase orders?

Included in setup. Purchase orders created in Shopify can be copied to Xero, where you turn them into bills that add the stock. You allow the permission in the app and we switch it on. Other stock changes, such as stocktakes, stay in Shopify and need recording in Xero by hand.

Read more: Purchase orders: from Shopify to Xero, bills and stock




Most B2B and wholesale stores start with these:


  • Use the order’s company name as the Xero contact turned on (you can turn this on)
  • Include unpaid orders under Auto sync orders, so orders on terms post straight away (you can turn this on)
  • Unpaid orders posted as Approved, so they show as Awaiting Payment (you can turn this on)
  • Due dates from the Shopify order’s terms, or from the customer’s terms in Xero (you choose)
  • The PO number in the invoice reference (included in setup)



Before you start

  • Contacts: make sure each trade customer’s Xero contact is active, not archived, and its name matches the Shopify Company name exactly. A small difference, such as “Ltd” and “Limited”, creates a second contact.
  • Products: make each Shopify SKU match its Xero Item Code exactly, and tick “I sell this item” on the item in Xero.


Get set up with Hyve Post to Xero

Every B2B store works a little differently. Email our support team at help@hyvelabs.co with your shop URL and a short description of how you sell to trade customers. We will recommend a setup and switch on everything marked Included in setup for you.


Install Hyve Post to Xero from the Shopify App Store and start your 30-day free trial.

Still need help? Contact Us Contact Us