Currently our online store takes orders which are paid via credit card or PayPal before the order is fulfilled.
We have one customer who orders every week and would like to have Net 30 terms. I know we can manually submit an order to provide net terms, but we would like a way for them to place an order online with terms. I have seen some 3rd party apps that can help with this but is there a way to do this natively in Shopify? We pay for the “Shopify” tier plan.
If there isn’t a way to do this natively, is there a recommendation on which app does this that is cost effective? We are a small business and only process around 60 orders a month so we don’t want to spend much for this feature. thx
Did you find a good solution? I’m in the exact same situation and same plan, a couple customers want to do this but it’s not enough to justify an additional app fee or plan upgrade
Nope, I ended up asking for the customer to send me an email with all their orders and I manually submit then and add the terms as a deferred payment.
Not ideal but since it’s only one client, it’s okay for now. I did chat with Shopify support and they recommended I try “B2B portal” but that’s $25 more a month and a 3rd party app. I’ve not tried it yet, but might in the near future.
Updating this since there’s been a significant change since this was originally posted.
Shopify B2B, including payment terms like Net 30, is now available on all Shopify plans, not just Plus. So if you’re on the standard Shopify plan, you can set this up natively without upgrading or paying for a third-party app.
Here’s how to do it:
Go to Customers > Companies in your Shopify admin
Create a Company for the customer (even if they’re an individual buyer)
Add their location and set the payment terms (Net 30, Net 60, Due on Fulfillment, etc.)
When they check out through your store, the terms apply automatically and Shopify generates an invoice with the due date
The buyer can then log into their customer account, see outstanding invoices, and pay online, no manual order submission needed on your end.
One limitation to know about: terms are static per company location, so every order from that company gets the same terms regardless of order size. If you ever need conditional terms (like different terms for large vs. small orders), that’s where the Payment Customization Functions API comes in.
But for a single weekly customer on Net 30, the native setup handles this completely now.