List what customers can order
Add a select, checkbox group, or quantity field for every product, bundle, or service you take order requests for.
Order form template
Updated · plan facts checked against /pricing
Ready-made HTML for product, wholesale, and custom orders. Copy it, swap in your products, and every order lands in your inbox and dashboard — no server code.

Capture the order request; take payment on a hosted checkout that keeps cards off your page.
Honeypot and time-trap reject fake and bot orders before they reach your inbox.
Accepted orders are saved to the dashboard before owner notification email is attempted on every plan; delivery time and inbox placement depend on provider and recipient settings.
HTML order form
This order form template captures the order request — product, quantity, and customer details. Once it lands in your dashboard, confirm inventory, tax, and shipping, then send the buyer to a hosted checkout to pay.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="hidden" name="subject" value="New order request" />
<input type="hidden" name="form_loaded_at" id="form_loaded_at" />
<label>
Product
<select name="product" required>
<option value="">Choose a product</option>
<option>Starter kit</option>
<option>Custom bundle</option>
<option>Wholesale order</option>
</select>
</label>
<label>
Quantity
<input name="quantity" type="number" min="1" value="1" required />
</label>
<label>
Customer email
<input name="email" type="email" autocomplete="email" required />
</label>
<label>
Shipping notes
<textarea name="shipping_notes" placeholder="Address, delivery window, customization notes"></textarea>
</label>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Submit order request</button>
</form>
<script>
document.getElementById('form_loaded_at').value = Date.now();
</script>Step-by-step
Five steps from a blank page to orders landing in your dashboard and inbox — with payment routed safely off the form.
Add a select, checkbox group, or quantity field for every product, bundle, or service you take order requests for.
Ask for email, phone, shipping address, delivery window, and any customization or wholesale notes the order needs.
Paste your access_key into the hidden field, leave the botcheck honeypot empty, and add the hidden form_loaded_at field (set by the one-line script below) so splitforms can reject order requests submitted too fast to be human.
Never collect card numbers in the order form itself. Capture the order intent, confirm price, tax, and stock, then send the customer to a hosted checkout like Stripe Checkout, Payment Element, Square, or PayPal.
Submit a test order and confirm it lands in your dashboard and inbox. Connect Google Sheets, Airtable, Notion, or Slack with one click, or embed the form as a WordPress shortcode, Shopify Custom Liquid block, iframe, or React component from the dashboard.
Order form backend
An order form template is ready-made HTML for product requests, custom bundles, wholesale inquiries, and service orders — you copy it, swap in your products, and it works. Behind it, the backend has to receive each order, screen out fake requests, keep a copy, and get it to your team.

Order form examples
Use the same order form template for product sales, wholesale requests, and custom orders — swap the fields to match what customers can order. For custom-product jobs, add a file upload for artwork or references.

Payments
No — never collect raw card numbers in a plain HTML order form. Capture the order intent first, confirm price, tax, and stock, then send the customer to a PCI-compliant hosted checkout that keeps card data off your page.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Questions
A useful order form includes product or service selection, quantity, customer name, email, phone, shipping or fulfillment notes, and optional custom instructions. Keep card fields off the form itself — capture the order first, then take payment on a hosted checkout (covered below).
No — never collect raw card numbers in a plain HTML form. Capture the order intent first, review price and stock, then redirect the customer to a PCI-compliant hosted checkout or a payment link that keeps card data off your page entirely.
Yes. splitforms emails the order request to your team and stores it in the dashboard on every plan, including Free. You can also connect Google Sheets, Airtable, Notion, or Slack with one-click OAuth, or forward orders to a signed webhook.
Yes. For custom products, use fields for size, color, quantity, notes, due date, file upload, or reference links. The order form captures the request; your team confirms price and payment after review.
Every submission passes through the botcheck honeypot — a hidden field that must stay empty — and the form_loaded_at time-trap, which rejects entries submitted too fast to be human. Add per-form allowed domains or strict origin mode, and turn on reCAPTCHA v2 with your own site key for extra coverage.
Free covers your first 500 order submissions with unlimited forms, spam filtering, and email notifications. Pro is $5/month for 5,000 submissions a month plus CSV/XML/PDF exports, webhooks, integrations, an auto-responder, CC/BCC and priority support. Annual is $49/year for 15,000 submissions a month. Higher volume is available through Business — email [email protected].
Yes. Add a hidden subject field to control the order notification's subject line, and a hidden redirect field with a URL to send customers to a confirmation or thank-you page after they submit.
Yes. Build the form once in the splitforms dashboard, then embed it as a WordPress shortcode ([splitforms access_key="..."]) with the WordPress plugin, drop it into a Shopify page with Custom Liquid, or use the plain HTML, iframe, or React component embed — no extra backend code required.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ