The challenge#
OnSize is a sneaker retail company that trades in unique and limited-edition shoes. The sneaker resale market is special in that product values can far exceed retail price — a limited Nike Dunk or a collaborative New Balance model can multiply in price after release. At these amounts, buyers rightfully expect precise documentation, and it also protects the company's own interests.
For every single sale, a purchase agreement must be prepared — this isn't optional, but an integral part of the business model. In the sneaker resale market, authenticity is the most important question: for the buyer, the contract is a guarantee of receiving an original product; for the seller, it's legal protection in case the buyer later disputes the transaction. The contract records the product's exact identifiers (model number, size, color, condition), the price, and the parties' rights — all essential when dealing with valuable, unique items. Hungarian commercial regulations also require such transactions to be properly documented, especially when the product value exceeds a certain threshold.
The previous process was extremely labor-intensive: order received from Shopify, open a Word document, manually type buyer data into the template, copy product data from Airtable, verify formatting, generate PDF, email the buyer, manually update inventory in the webshop, then notify the warehouse verbally or via chat. Processing a single order took 15-20 minutes, and the potential for errors was practically limitless.
The critical point was in contract generation. A mistyped product number, wrong price, or missing data in the contract can cause legal problems — imagine when an 89,900 HUF shoe accidentally shows up as 8,990 HUF in the contract. Manual work couldn't guarantee accuracy, especially during peak periods (new collection launches, Black Friday) when 10-15 or even 20 contracts had to be prepared daily. Under time pressure, the team tended to "cut corners," further increasing the error rate. Corrections were also time-consuming: a flawed contract meant coordinating with the buyer, generating a new one, and resending it — taking another 15-20 minutes per case.
We built a similar system on the procurement side for Balazs Kicks — where the focus was international procurement, multi-currency price calculation, and barcode-based inventory management. For OnSize, the goal was exclusively automating the sales process: from order receipt through contract generation to packaging and shipping, covering every step.
Why this solution?#
Many companies use Word templates that they fill in manually. This is problematic for three reasons:
- Human error: Typos, wrong prices, missing data — anything can happen when you fill out 10-15 forms daily
- Time: Filling in a template takes 5-8 minutes, formatting and PDF conversion another 2-3 minutes
- Version control: Which is the current template? Who modified it last? How do I know I'm using the latest version?
The automated system generates the contract from order data, so there's no manual data entry, no typos, and the current template always runs.
The solution in detail#
We built 6 n8n workflows that cover the entire sales process — from order receipt to package dispatch. Unlike the Balazs Kicks procurement system — where price list processing and multi-currency pricing is the central question — here the focus is on order finalization, legal documentation, and logistics coordination. The workflows build on each other: one's output is the next's input, so the entire chain runs without human intervention.
Order receipt and validation
When a new order arrives in the Shopify webshop, the webhook immediately triggers the n8n workflow. The system performs a complex validation step: it checks whether the ordered product is actually in stock in Airtable, whether the buyer's shipping address is correct (country and postal code match), and which payment method was selected. If everything checks out, the order automatically moves to "Processing" status and the next workflow starts. If there's a problem — for example, the product is out of stock because someone else bought the last piece in the meantime — the team receives an immediate notification with the action items and the buyer's contact details, so they can respond quickly.
Automatic purchase agreement generation
This is the heart of the system, and its greatest value. The workflow collects data from four sources into a single PDF:
- The buyer's details from the Shopify order (name, address, email, phone number)
- The product details from Airtable (full name, model number, size, color, condition)
- The pricing (purchase price, shipping cost, total)
- The unique identifiers (order number, contract number, date)
From this data, the system automatically generates a PDF purchase agreement using a template approved by the company's legal team. The contract includes mandatory legal clauses, return and withdrawal terms, the product's unique identifier and condition description. The generated PDF is automatically archived in Airtable and attached to the order, so it can be retrieved at any time.
Inventory update and Shopify sync
When the order is finalized, inventory automatically decreases in Airtable, and this change syncs immediately to the Shopify webshop. If the last piece of a specific size sells out, the product automatically goes to "Sold out" status on the webshop — no manual changes needed, and it's impossible for a buyer to order a product that no longer exists.
The system also monitors critical stock levels: if 2 or fewer pieces remain of a popular product, it sends a notification to the procurement team so they can order new stock in time. With this proactive approach, OnSize avoids "out of stock" status on their best-selling products.
Warehouse notification and packing list
For finalized orders, the system automatically generates a packing list and sends it to the warehouse. The list precisely contains what needs to be picked from the shelf (product name, size, exact shelf position in the warehouse), how to pack it (standard packaging for regular products, premium box packaging for limited editions), and which courier service to use based on the shipping address and package value.
The warehouse worker receives the task on their phone through a simple interface, completes the packaging, and signals completion with a single button press — which automatically updates the order status in the system and sends the buyer a notification about the package dispatch, including the tracking number.
Before and after#
- Manual contract writing from Word template: 10-15 min/order
- Typos, wrong prices — 2-3 corrections per week
- Manual inventory updates — not always current
- Warehouse notification: chat message or verbal
- 2-3 hours of daily administration in sales
- Automatic PDF generation: < 30 seconds/order
- 0 errors — generated from order data
- Real-time inventory sync (Airtable ↔ Shopify)
- Automatic packing list + status tracking
- < 15 minutes of daily oversight for all sales
Order management — Airtable view
| Order | Buyer | Product | Price | Contract | Status |
|---|---|---|---|---|---|
| #OS-2247 | Mark Toth | Nike Dunk Low, 43 | 52,900 HUF | 📄 PDF ready | ✅ Delivered |
| #OS-2248 | Anna Kiss | Adidas Samba, 38 | 35,900 HUF | 📄 PDF ready | 📦 Packaging |
| #OS-2249 | Peter Nagy | NB 550 Ltd., 42 | 89,900 HUF | 📄 PDF ready | 💳 Awaiting payment |
| #OS-2250 | Rita Kovacs | Puma Suede, 40 | 28,900 HUF | ⚙️ Generating... | ⏳ Processing |
A purchase agreement is automatically generated for every order. The PDF can be downloaded or emailed to the buyer with a single click. Contracts are archived in Airtable, so any past transaction's documentation can be retrieved in seconds.
Results in numbers#
| Metric | Before | After |
|---|---|---|
| Contract generation | 10-15 min (manual) | < 30 sec (automatic) |
| Data errors in contracts | 2-3/week | 0 |
| Full order processing time | 15-20 min | < 2 min |
| Inventory accuracy | ~85% | 99%+ |
| Warehouse notification | Verbal/chat | Automatic list + tracking |
After implementing the system, the OnSize team can dedicate the 2-3 daily hours freed from administration to building client relationships and expanding their product range. Error-free contracts increased buyer trust — more became repeat customers because they knew they'd receive professional documentation. Automatic warehouse notifications shortened delivery time by an average of one business day, which is particularly important in the sneaker market where buyers are impatient and speed is a competitive advantage.
How to apply this in your business#
Automatic document generation isn't only useful in e-commerce. Any company can benefit from it where repetitive, template-based documents need to be prepared:
- Real estate: Lease agreements, preliminary purchase contracts, handover protocols
- Services: Service contracts, quotes, completion certificates
- Retail: Purchase agreements, delivery notes, warranty letters
- HR: Employment contracts, agreements, appointment letters
The technical implementation is simple: a template (HTML or docx) where n8n substitutes the variable data and generates a PDF. Template modification doesn't require a developer — the company's legal team can update the text at any time, and the system will immediately use the new version.
If you'd like to automate document generation in your company, book a free consultation.
Tech stack#
| Tool | Role |
|---|---|
| n8n | 6 workflows: order, contract, inventory, warehouse, notification |
| Shopify | Webshop platform, webhook-based integration |
| Airtable | Order dashboard, inventory, and contract registry |
| OpenAI API | Product description generation and categorization |