Integrations Guide

Connect B2B Onboard to invoicing apps via customer metafields. VAT numbers, tax IDs, and company info flow automatically.

Metafields Overview

When an application is approved, B2B Onboard writes customer metafields to the Shopify customer record. These metafields are available to any app or Liquid template that reads customer data.

Metafield Type Description
custom.company_name single_line_text_field Company name from the application
custom.contact_name single_line_text_field Contact person name
custom.vat_number single_line_text_field VAT number (if form includes a VAT field)
custom.tax_id single_line_text_field Tax ID (if form includes a tax ID field)
b2b_onboard.application_id single_line_text_field Internal application ID for reference
b2b_onboard.approved_at date_time Timestamp of approval

The custom namespace is the standard Shopify namespace that third-party apps can auto-discover. The b2b_onboard namespace contains app-specific internal fields.

Sufio

Sufio is a popular invoicing app for Shopify that generates professional invoices automatically.

How it works: Sufio auto-reads custom.vat_number from the customer record and includes it on invoices. No additional configuration is needed in Sufio.

If you use Shopify B2B: Sufio also reads the native taxRegistrationId from B2B Company locations. If you have B2B Company Creation enabled in B2B Onboard settings, the tax registration ID is written there too.

Setup: No setup required. Approve an application in B2B Onboard, and the VAT number will appear on the next Sufio invoice for that customer.

Order Printer

Order Printer is Shopify's free app for printing invoices, packing slips, and receipts using Liquid templates.

Best approach — native B2B objects: If you use Shopify B2B Company Creation, the most reliable method is to use native B2B Liquid objects in your Order Printer template:

{% if order.company %}
  <p><strong>Company:</strong> {{ order.company.name }}</p>
{% endif %}
{% if order.company_location.tax_registration_id %}
  <p><strong>VAT:</strong> {{ order.company_location.tax_registration_id }}</p>
{% endif %}

Alternative — customer metafields: If you do not use B2B Company Creation, you can access customer metafields directly:

{% if customer.metafields.custom.company_name %}
  <p><strong>Company:</strong> {{ customer.metafields.custom.company_name.value }}</p>
{% endif %}
{% if customer.metafields.custom.vat_number %}
  <p><strong>VAT:</strong> {{ customer.metafields.custom.vat_number.value }}</p>
{% endif %}

Note: Customer metafield access in Order Printer templates can be unreliable due to a known Shopify limitation. The native B2B objects are the recommended approach.

Billbee

Billbee is a German multi-channel order management and invoicing platform.

Limitation: Billbee only reads order-level note_attributes, not customer metafields. This cannot be solved directly in B2B Onboard.

Workaround with Shopify Flow: Create a Flow workflow that copies the customer VAT metafield to the order's note attributes when an order is created:

  1. In Shopify admin, go to Settings → Flow
  2. Create a new workflow with trigger: Order created
  3. Add a condition: customer has metafield custom.vat_number
  4. Add action: Update order note to include the VAT number with key vat-id
  5. Turn on the workflow

Billbee will then pick up the vat-id from the order note attributes and use it in invoices.

Native Shopify B2B

For the best invoicing app compatibility, enable B2B Company Creation in your B2B Onboard settings. This requires Shopify Plus with B2B enabled.

When B2B Company Creation is active, approving an application also:

  • Creates a Shopify B2B Company with the company name and address
  • Sets the taxRegistrationId on the company location (VAT number)
  • Assigns the customer as a company contact
  • Optionally assigns a B2B catalog for wholesale pricing

Invoicing apps that support Shopify's native B2B objects (including Sufio and Order Printer) will automatically pick up company names and tax registration IDs from orders placed by B2B customers.

See the B2B Company Creation settings for configuration details.

Any App

Any Shopify app or integration that reads customer metafields can access B2B Onboard data. The metafields use the standard custom namespace, which is discoverable through Shopify's metafield definitions API.

For developers: Query customer metafields via the Shopify Admin API:

{
  customer(id: "gid://shopify/Customer/123") {
    metafields(first: 10, namespace: "custom") {
      edges {
        node {
          key
          value
        }
      }
    }
  }
}

For Liquid themes: Access metafields in your theme templates:

{{ customer.metafields.custom.company_name.value }}
{{ customer.metafields.custom.vat_number.value }}
{{ customer.metafields.custom.tax_id.value }}

If you use an invoicing app not listed on this page and need help connecting it to B2B Onboard, contact support.