Native VAT invoice number vs "Send invoice" order number. Confusing for B2B customers

I run a made to order B2B store and invoice customers on dispatch (they’re on payment terms, so they don’t pay at order time). I’ve hit a naming conflict that’s confusing customers, and I’d like to know the correct way to resolve it.

For a single order, two different Shopify features both produce something called an “invoice”, each with a different number:

When the order is created, Shopify auto-generates the native VAT invoice with its own sequential number, e.g. INV-GB-138. This is what the customer sees when they log into their account.
2. When I click Resend invoice (my dispatch trigger, to request payment under their terms), the payment request email is labelled “Invoice #1143 — but 1143 is the order number, not an invoice number. This label appears in both the email subject and the email body.

So the customer receives one document referencing “Invoice 1143” and sees another in their account referencing “INV-GB-138” for the same order. It looks like two different invoices with two different numbers.

My questions:

  • Is there any way to make the “Send invoice” payment request email stop labelling itself with the order number as “Invoice #”, or align it with the actual VAT invoice number?
  • Is the payment request email body editable at all, or is it a fixed template?
  • For a B2B, what’s the recommended way to present a single, consistently numbered invoice to the customer. Is native B2B payment terms the intended solution here rather than the manual “Send invoice” approach?

Any guidance on the correct setup would be much appreciated. Thanks!

Yes editable. See below.

That “Invoice #1143” is the Order invoice email, at Settings > Notifications > Customer notifications > Order invoice (“Sent when an order has an outstanding balance”). It is what your Send invoice / Resend invoice button triggers, and it is a completely separate thing from the native VAT invoice.

It says “Invoice #1143” because the email prints your order number, not the VAT number. The default subject is Invoice {{name}} and the body heading is Invoice {{ order_name }} - both output the order name (#1143).

  • Can it show INV-GB-138 instead? No. The VAT invoice number is not an available variable in this email

Fix: Just reename it from Invoice to something else:

  • Settings > Notifications > Customer notifications > Order invoice > Edit code.

  • Email subject: change Invoice {{name}} to Payment request for order {{name}}.
  • Email body: find the heading line Invoice {{ order_name }} (the big “INVOICE #…” near the top) and change the word Invoice to Payment request. Keep {{ order_name }} so the customer can still match it to the order.
  • Save, then use Preview / Send test to check it.

Keep the order number in there - it is the reference the customer quotes when they pay

Recommended B2B setup:

  • Treat the auto VAT invoice (INV-GB-138) as your one tax invoice.
  • Use the relabelled Order invoice email purely as the “pay now” request on dispatch.
  • Native B2B payment terms (Due on fulfillment) match your dispatch trigger.
  • Net result: the customer sees the order number on the payment request and the VAT number stays the single invoice number.

If you later want branded PDF invoices with your own sequential numbering, apps like Sufio, Order Printer Pro, or F+2: Invoices handle that.

Regards,
Ploqo

@Ploqo Thank you so much for this! I have updated the order invoice with these updates.

I think I’m going to trial a paid app to get the functionality we need. I need PDF invoices attached really.