Payment terms for Shopify wholesale · Updated 2026
Net 30 and net 60 on Shopify B2B.
How it actually works.
Wholesale buyers do not pay by card. They raise a purchase order, receive goods, and settle at the end of the month. A checkout that demands payment on submission is the single most common reason a trade buyer abandons an online portal and goes back to emailing your sales rep. This page covers how terms fit into Shopify, what the platform does not do for you, and how to keep the receivable reconciled.
Cancel anytime during the trial · No Shopify App Store install · No theme edits
The blocker
Why card-only checkout loses wholesale orders
A retail checkout optimises for immediacy: get the payment before the buyer changes their mind. A wholesale checkout optimises for repeatability: make it trivially easy for a buyer whose credit you have already approved to place their fifth order of the quarter.
Forcing a card at the end of that flow does not just add friction. In many buying organisations the person placing the order has no card and no authority to use one. The order does not get delayed — it gets moved off your portal entirely.
Where terms live
Terms belong to the account, never to the order
The correct data model attaches terms to the customer or customer group: this account buys on net 30 with a credit limit, that one pays up front. Every order the account places then inherits the arrangement without anyone deciding again.
Configuring terms per order instead looks flexible and fails predictably — a new team member applies net 60 to a first-time buyer, or an established account gets asked for a card because someone forgot. The account-level model is the one that survives staff turnover.
- Assign terms at the customer or group level, not per order
- Pair every terms arrangement with an explicit credit limit
- Review limits on a schedule, not after a problem
The mechanism
Draft orders are the vehicle for terms
A draft order is created by the merchant and sits under merchant control until it is invoiced. That review step is exactly where terms belong: you can confirm the price list applied correctly, check the account is within its limit, adjust freight, and then send an invoice with the agreed due date.
This is why Hasil routes every portal order into Shopify as a draft order. The buyer gets a frictionless submission with no card; you get the review step and the invoice; and nothing about your Shopify tax, invoicing or fulfilment configuration changes. Hasil never touches funds and never extends credit — those decisions stay with you.
The gap
What Shopify will not do for you
Be clear-eyed about the boundary. Shopify can record terms and issue the invoice. It will not credit-check an applicant, block an order that would breach a credit limit, age your receivables, or chase a late payment.
Those functions live in your finance process or your ERP. The practical requirement on the storefront side is simply that every customer and every order is mapped cleanly to its counterpart in the accounting system, so reconciliation is a lookup rather than an investigation.
- No native credit checking or scoring
- No hard enforcement of a per-account credit limit at checkout
- No receivables ageing or dunning
- Reconciliation depends on clean customer and order mapping
Reconciliation
Keeping the receivable in agreement with the ERP
If Odoo is your finance system, the invoice raised in Shopify has to find its counterpart there. That is the same problem as product and stock sync, solved by the same mechanism: a persistent mapping between the customer record in each system and between the order and its invoice.
Hasil maintains those mappings as part of the sync layer, with a retry queue for transient failures and a health view showing what has and has not been written. Raw payloads purge after 30 days.
Free playbook
Setting up terms? Take the wholesale setup checklist.
The pre-launch list: account-level terms, credit limits, draft-order flow, and the reconciliation fields to map before your first invoice.
FAQ
Net terms on Shopify B2B — common questions
Can Shopify handle net 30 payment terms?+
Shopify B2B supports payment terms on orders, and draft orders can be sent as an invoice with terms attached rather than requiring immediate card payment. What Shopify does not do is credit-check, enforce a credit limit per account, chase the receivable, or reconcile the payment back against an ERP ledger. Those remain your process.
How do I offer net terms to some customers and not others?+
Terms belong to the account, not the product. Assign them at the customer or customer-group level so that a trade account with an agreed limit checks out on terms while everyone else pays up front. If terms are configured per order rather than per account, someone will eventually apply them to the wrong buyer.
What is the difference between a draft order and a terms order?+
A draft order is an order the merchant creates and controls before payment. It is the natural vehicle for terms because you can review, adjust and then invoice it. A buyer-placed order that skips payment entirely gives you the same receivable with none of the review step, which is why most wholesale operations route terms through draft orders.
Does Hasil lend money or take payment?+
No. Hasil never touches funds and offers no credit. Portal orders arrive in Shopify as draft orders and you invoice from Shopify with whatever terms you have agreed. Credit decisions and collections stay entirely with you, where the risk sits.
How do net-terms invoices reconcile with Odoo?+
The invoice lives in Shopify; the receivable typically lives in your accounting or ERP system. Keeping customers and orders mapped between the two is what makes reconciliation possible without a spreadsheet — that is the same entity-mapping layer that drives product and stock sync.
Should I offer net terms at all?+
Only where the margin justifies the risk. Terms are a competitive necessity in most wholesale categories, but they convert revenue into an unsecured loan. Start with a modest limit per account, review it quarterly, and stop shipping when the limit is exceeded rather than after the relationship sours.
Keep reading
Free playbook · 1 email/month
Not ready for a trial? Take the playbook instead.
Let approved accounts order without reaching for a card.
14-day free trial. Gated portal, per-customer pricing, and every order into Shopify as a draft order you invoice on your own terms. Hasil never touches funds.
Start 14-day free trial