Shopify wholesale order form
Add a wholesale order form to your Shopify store with no app. Paste it into a Liquid section, collect the business, product, and quantity, and requests land in your inbox to quote and invoice. No app subscription.
How to build it
- Create a form in your Formpaste dashboard and copy its access key.
- Paste the markup above into a Liquid section or a Custom Liquid block on your wholesale page.
- Replace YOUR_ACCESS_KEY_HERE with your access key, then save and publish.
Shopify gotchas
Shopify's theme forms are fixed to a few templates, and most custom forms push you to a paid app. A Formpaste form is a plain HTML form you paste into a Liquid section, template, or a Custom Liquid block - so you get the exact fields you need with no app subscription.
Paste it into Liquid
Add the form markup to a section or template in your theme, or drop it into a Custom Liquid block from the theme editor. It is plain HTML, so Liquid renders it as-is.
No app subscription
Custom-form apps charge monthly and add scripts to your storefront. A form that posts to Formpaste is inert markup - nothing to install, nothing to slow the page, no recurring fee.
You can prefill from Liquid
Because the markup lives in a Liquid template, you can inject product or customer values with Liquid tags - for example, prefill the product name on a back-in-stock form.
Keep the access_key input
The hidden access_key input must stay in the markup. It identifies your form to Formpaste.
What to get right
This collects the B2B request, not a checkout
A wholesale form gathers the order details and emails them to you to quote and invoice. It does not take payment. For a bulk checkout, follow up with an invoice or a payment link.
Quantity is a number field
Use a number input so buyers enter a real count, and validate a sensible minimum order in the browser. The generated code sets type=number for you.
Route wholesale to your sales inbox
Forward submissions to the address that handles B2B, with reply-to set to the buyer so a quote is a single reply from your inbox.
How it works
Three simple steps for form submissions to land in your email inbox.
Create your form, set your form's action URL to Formpaste's endpoint, and add your access key.
Create your form
Sign up, verify your email, and create an access key in your dashboard.
Copy the code
Paste the snippet above into your project. Pick CSS or Tailwind to match your site.
<form action="https://api.formpaste.com/submit" method="POST" class="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Business name
<input type="text" name="business" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Email
<input type="email" name="email" placeholder="you@company.com" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Contact name
<input type="text" name="contact" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Product or SKU
<input type="text" name="product" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Quantity
<input type="number" name="quantity" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Order notes
<textarea name="notes" class="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
</label>
<button type="submit" class="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Request quote</button>
</form>Add your access key
Replace the placeholder with your access key to start receiving submissions.
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">Shopify wholesale order form FAQ
Paste a form. Get submissions.
Instantly without setting up any backend, servers or databases. 250 submissions/mo free - no credit card.