Onopo
← All posts

How to send invoices for Shopify B2B orders on net terms

7 min read

Since April 2026 every Shopify plan can sell B2B. You create a company, assign a price list, set the payment terms to Net 30, and the order goes through without a card being charged. It works well.

Then the order lands, and you notice what is missing. Your buyer needs a document to pay against. Their accounts payable department will not wire money because an order confirmation arrived in someone's inbox. They need an invoice — with a number, a due date, a tax breakdown and your bank details. Shopify does not produce one.

This is the gap almost every wholesale merchant hits in their first week of B2B selling. Below is what a usable invoice actually has to contain, the four ways merchants close the gap today, and which parts are worth automating first.

An order confirmation is not an invoice

The email Shopify sends after checkout is a confirmation of what was ordered. An invoice is a demand for payment, and in most jurisdictions it is also a tax document. The difference is not cosmetic — your buyer's accountant cannot book a payment against a confirmation email, and in the EU they cannot reclaim input VAT without a compliant invoice.

Three things separate the two documents in practice:

  • A sequential number. Invoices must be numbered in an unbroken, traceable sequence. Order numbers do not qualify, because orders get cancelled and the sequence breaks.
  • A due date. Net 30 means nothing until someone writes down which date day 30 falls on. That date is what your dunning process later depends on.
  • Payment instructions. A card was never charged. If your bank details are not on the document, the money has nowhere to go.

What has to be on the invoice

Requirements differ by country, but the overlap is large. In the EU the mandatory content is set out in Article 226 of the VAT Directive, which each member state mirrors in national law — in Germany, for example, in section 14 of the Umsatzsteuergesetz. A workable checklist:

  • Your full legal name and address, and the buyer's
  • Your VAT identification number (and the buyer's, for cross-border EU sales)
  • A sequential invoice number
  • The date of issue, and the date of supply if it differs
  • Quantity and description of each item
  • Net amount per tax rate, the rate itself, and the tax amount
  • The gross total
  • Any discount or rebate agreed but not already in the unit price
  • Where tax is not charged, the reason — for intra-EU B2B sales, a note that the reverse charge applies

Selling into the United States, the legal bar is lower: there is no federal invoice format, and sales tax on wholesale transactions is usually exempt against a resale certificate. But the commercial bar is the same. A US accounts payable team wants a PO number if one was issued, clear payment terms, and remittance details — otherwise your invoice sits in a queue while somebody emails you to ask.

One detail that catches merchants out: if you sell to buyers in several countries, the invoice has to speak their language and follow their address conventions. A German customer expects 90427 Nürnberg; an American expects Louisville, KY 40202. Getting this wrong does not invalidate the invoice, but it does tell your buyer that the document was produced by someone who was not paying attention.

PDFs have a shelf life in Europe

Worth knowing before you build a process around emailed PDFs: the EU is moving to structured electronic invoicing, and a PDF is not a structured e-invoice.

Germany moved first. Since 1 January 2025 every domestic business must be able to receive e-invoices in a structured format such as XRechnung or ZUGFeRD. The obligation to issue them follows in stages: from 1 January 2027 for businesses with more than €800,000 in annual turnover, and from 1 January 2028 for everyone else.

At EU level the ViDA package sets 1 July 2030 for mandatory structured e-invoicing on intra-EU B2B transactions, with national systems harmonised by 2035.

None of this makes a PDF wrong today. Domestic German B2B sellers should simply plan the switch rather than discover it in December 2027, and merchants outside the EU can ignore it for now.

The four ways merchants close the gap

1. By hand, in Word or Excel

Export the order, paste it into a template, save as PDF, attach to an email, note the due date in a spreadsheet. It costs nothing and works perfectly at five invoices a month.

It breaks at thirty. The failure is rarely dramatic — it is one invoice that never got sent, discovered eleven weeks later when you wonder why a customer has not paid. The sequential numbering is also fragile: the moment two people issue invoices from the same template, you have duplicates.

2. Order printer apps

These render an order into a printable document from a template you edit. They are cheap and flexible, and if you mainly need packing slips they are the right tool.

The limitation is that they are document generators, not receivables tools. They will happily produce a beautiful invoice, but nothing knows whether it was paid, nothing chases it, and the due date exists only on the page.

3. Sync into accounting software

Push orders into Xero, QuickBooks or DATEV and let the accounting system issue and track invoices. If you already run one of these, this is often the correct answer — the numbering is authoritative, the bookkeeping is done, and dunning is usually built in.

The cost is setup and rigidity. Tax mapping between Shopify and an accounting ledger is genuinely fiddly, especially with mixed domestic and reverse-charge sales, and the invoice layout is whatever your accounting package produces.

4. A dedicated app on top of Shopify B2B

Watch for orders carrying payment terms, generate the invoice, email it, and track what is open, due and overdue. The advantage is that everything stays in one system and there is no mapping step.

The trade-off is that it is not bookkeeping. You still need accounting software; this only handles the document and the chase.

What to automate first

If you do nothing else, automate these three, in this order:

  1. Issuing and sending. The invoice should leave your system without a human deciding to send it. Every manual step is a step that gets skipped in a busy week.
  2. Knowing what is outstanding. One list, sorted by due date, showing what is overdue and by how much. Most merchants discover they are owed considerably more than they thought.
  3. The reminder. A polite note a few days before the due date prevents more late payments than any firmly worded letter sent afterwards. Most buyers are not refusing to pay — the invoice is simply sitting unapproved in someone's queue.

Note what is not on that list: chasing by hand. Deciding each morning who deserves a reminder is the part of receivables that quietly consumes an afternoon a week, and it is the part that a rule handles better than a person, because a rule is not embarrassed to ask.

Onopo does the four things above for Shopify B2B orders: it turns every order with payment terms into a numbered PDF invoice, emails it to the buyer, tracks what is open and overdue, and sends staged reminders that stop the moment Shopify reports the payment. Find it on the Shopify App Store, or ask us anything first.
Written by Anton Kuznecov, who builds Onopo. Read the other posts.