Features
Configurations

Credit & Invoicing

Setting Credit Limits & Account Balances

If some of your B2B customers have a credit limit in place, it's possible to display this when they login to your website, giving them visibility on their credit status.

Document image


Credit limits work by specifying an amount against a customer record and, when the customer signs in, and places an order using Pay on Account, they'll be notified if they are about to place an order that exceeds their credit limit.

In our example below, the customer has exceeded their credit limit and their ability to "Pay on Account" has been blocked (i.e. they are only able to "Pay Online by Card")

Document image


This feature works by enabling a special setting against a customer that can then be manually adjusted according to their agreed terms. You can also specify an account balance that will automatically update each time a successful order is placed (this can also be adjusted manually if required).

Please note By default, if a customer exceeds their credit limit, the "Pay on Account" payment method will be disabled. If you'd prefer to still allow the order to be placed by this payment method, you can enable this setting here.

🛍️ Using Shopify
🌐 Other platforms

Setting up metafields on Shopify To learn more about how to configure metafields on Shopify for SparkLayer, please refer to our guide here

Item

Details

Custom data type

Customers

Metafield type

This must be set as an JSON string

Namespace

This must be set as sparklayer

Key

This must be set as payment_on_account

Value

This is applied on a specific customer record. This must be specified in the following format:{"credit_limit":1000,"balance":250}

If you're using multiple currencies for your B2B customers (see Shopify Markets & Currencies), you can specify their exact currency when viewing the credit limit and account balanace. To set this up, simply change the value key against a customer to the below format, changing usd to your required currency:

Item

Details

Value

This is applied on a specific customer record. {"credit_limit":1000,"currency_code":"usd","balance":250}

You can also modify the text that is shown to a customer by updating the SparkLayer language strings. They'll see special messaging both in their My Account area and during the checkout if they exceed their credit limit.

Document image

Document image


JS



Setting Net Terms (Payment on Account)

It's possible to set specific "Net terms" for a customer (such as Net 30, Net 60) giving the customer visibility on their payment terms. Once it's set up, this will display in the customer's My Account area under "Financials'.

Document image


When the customer then goes through the checkout, they can simply select "Pay on Account" to trigger their net payment terms.

Document image

🛍️ Using Shopify
🌐 Other platforms

First, you'll need to ensure the "Payment on Account" payment method is enabled within the Customer Groups area of the SparkLayer Dashboard for your chosen customer group. Click the Edit icon and you'll see a section called Payment Methods. From here, simply ensure that "Payment on Account" is ticked.

Document image


When an order then arrives into Shopify, it will be created as a Draft order. With the payment terms set (as above), this will then update the "Payment due later" setting and populate the "Payment terms" and "Issue date" fields.

Document image


You can even automatically convert the Draft order into a Completed order within Shopify and then manually collect payment at a later date (such as offline via your accounting system). To activate this, from the SparkLayer Dashboard, turn on "Auto-complete Shopify Draft orders" and ensure "Payment on Account orders - automatically mark as paid" is turned off. If you do want to automatically mark the order as paid, you can achieve this via Shopify Flow. Learn more.

Document image


Setting up metafields on Shopify To learn more about how to configure metafields on Shopify for SparkLayer, please refer to our guide here

Item

Details

Custom data type

Customers

Metafield type

This must be set as an JSON string

Namespace

This must be set as sparklayer

Key

This must be set as payment_on_account

Value

This is applied on a specific customer record. This must be specified in the following format:{"net_terms":"30_days"}

If you're also the credit feature (see above), this should be populated as follows:{"credit_limit":1000,"balance":250,"net_terms":"30_days"}

In terms of configuring the net terms, the following values are supported:

Net terms

Value

7 days

7_days

15 days

15_days

30 days

30_days

45 days

45_days

60 days

60_days

90 days

90_days

Please note If you're using Auto-complete Shopify Draft orders on your store setup, this will not work in parallel to customers using "Payment on Account" with specific net terms (as detailed above)

Shopify automations You can also automate how your net payments work with our ready-made Shopify Flows. You can learn more in our guide here



Sending an invoice from your store

Depending on which eCommerce platform you're using, it's also possible to send invoices directly from your store administration area. Whilst the functionality may be basic, it can act as a good way to start testing your B2B invoicing process before using a more comprehensive invoicing solution.

Learn more If you're looking for a more feature-rich invoicing solution, you may also want to consider using a third-party app such as Sufio Invoicing

🛍️ Using Shopify
🌐 Other platforms

When an order is placed (as a draft order)

When a customer places an order via your website via a manual payment method (such as Payment by Invoice), it's possible to have this order come into Shopify as a 'Draft' order.

Document image


Shopify then has the ability to 'Send an invoice' that allows you to send a customise message and a link to the Shopify checkout to make payment. This uses the 'Send invoice' feature of Shopify Draft orders and you can learn more about how this works here.

Once the customer completes their purchase by making payment, the order is then marked as paid and will then display within your Shopify Orders area.

Document image


You can edit this email template by going to Settings > Notifications within Shopify and search for the Draft order invoice template

If the customer hasn't made payment for any reason or you are processing it manually, within Shopify you can open the order and easily resend or manually mark as paid. Please note, the order will stay as a Draft order until action has been taken.

Document image



Attaching an invoice to an order

When a customer places an order and payment has been completed against it, the order will appear in their My Account area. When viewing an order, in addition to the order details (such as products ordered, order status, address), it's possible to attach an invoice against an order that the customer can subsequently download.

🛍️ Using Shopify
🌐 Other platforms

To get started, you'll need to add a custom metafield to your Shopify store, using the "Orders" metafields

Setting up metafields on Shopify To learn more about how to configure metafields on Shopify for SparkLayer, please refer to our guide here

Item

Details

Custom data type

Orders

Metafield type

This must be set as anURL or File. One value or lists of values are supported.

Namespace

This must be set as sparklayer

Key

This must be set as invoice_url

Value

NOTE: It's very important the file name or URL is not guessable. We recommend having a UUID placed within the URL which makes it impossible to guess.

Once you've set up the metafield, simply navigate to an order in Shopify and you'll see the field appear to specify the invoice URL.

Document image


If you don't already have the invoice file(s) hosted, you can use the built-in Shopify content system to do this. Simply upload the file and copy the link to your clipboard. This can then be pasted within the filed detailed above.

Document image


Once the B2B customer logs in, they'll then be able to download this from their order history on your website. As this is using the Shopify metafield system, the process of attaching invoices could be actioned in bulk or you could even automate this process from your backend system (e.g. ERP, CRM).

Document image