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
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.
Every order is stored and emailed to your team within seconds — on every plan.
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
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

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
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Pro is five dollars a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
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 500 order submissions a month with unlimited forms, spam filtering, and email notifications. Pro is $5/month for 5,000 submissions plus CSV/XML/PDF exports, webhooks, integrations, and an auto-responder. Pro is $5/month for 5,000 submissions with CC/BCC and priority support. The $59 3-Year plan covers 15,000/month. Higher volume is available through Business — email hello@splitforms.com.
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
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.
Free forever
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime