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:
- In Shopify admin, go to Settings → Flow
- Create a new workflow with trigger: Order created
- Add a condition: customer has metafield
custom.vat_number - Add action: Update order note to include the VAT number with key
vat-id - 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
taxRegistrationIdon 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.