# Wholesale Handler > Customer order portal for wholesalers - customers order online 24/7 instead of phoning, emailing, or texting. No transaction fees. Last updated: 2026-05-27 Wholesale Handler is a self-service B2B ordering portal built for small wholesale businesses such as bakeries, fresh produce wholesalers, egg producers, and seasonal operations like Christmas tree farms and pumpkin growers. Customers place orders 24/7 with delivery dates through the portal - no more phoning, emailing, or texting to chase. Merchants manage orders, products, customers, invoices, and delivery rules from one place, with an aggregated production schedule turning incoming orders into a daily or weekly plan. Invoice and payment tracking are built in: merchants generate invoices from orders, send them by email or PDF, and customers can declare payments for merchants to confirm. An optional public storefront lets new customers find you through search engines. No transaction fees, no contract, and a 30-day free trial with no credit card required. ## What merchants can do - **Order management** - search, filter, and mark orders as processed; print packing slips - **Standing orders** - weekly, fortnightly, three-weekly, or four-weekly recurring orders, set up by the customer or by you on their behalf. Each upcoming order is generated automatically at your cut-off time. Three days before the order is placed, the customer gets a preview email with the line items at today's prices, a one-click "Skip this order" link that doesn't need a login, and a link to edit the schedule - if they do nothing, the order fires normally. Pause to a specific resume date or pause indefinitely; skip a single occurrence; edit any line anytime. Optional minimum-spend override per schedule. Up to 10 active per customer - **Product catalogue** - add products with names, descriptions, pack sizes, prices, VAT rates, and availability date ranges - **Stock tracking (opt-in)** - optional per-product stock tracking - leave off for unlimited stock (produce-to-order default), or enable to track finite quantities. The system prevents overselling, and customers can subscribe to email notifications when out-of-stock products are restocked - **Customer management** - invite customers via email, add delivery notes and private merchant-only notes - **Invoice generation** - create invoices from orders, batch-invoice multiple orders, send invoices via email, export as PDF, mark invoices as paid - **Payment tracking** - customers declare payments, merchants confirm or dispute after checking their bank. Disputes send a professional email written by Wholesale Handler so the merchant doesn't have to compose it. Payment references, bank check history, and a full timeline on every invoice. Optional for both sides - **Data export** - export invoice line items to CSV for accounting software. Preset or custom date ranges, column selection and renaming, settings saved per merchant - **Dashboard** - action items (pending orders, uninvoiced orders, unconfirmed payments), this month vs last month stats (orders, revenue, average order value), top products and customers, quiet customer alerts - **Public storefront (opt-in)** - a public product page for your business that search engines can find. Choose which products to show, control pricing with a dedicated storefront price list (separate from your customer prices), show or hide prices entirely. Disabled by default - nothing is published unless you set it up - **Production schedule** - daily and weekly views aggregated from all incoming orders - **Delivery rules** - set accepted delivery days, holidays and blackout dates, order cut-off times, and lead times - **Cut-off message** - optionally write a short message that customers see once a delivery date has locked - tell them in your own voice how to reach you if they really need a last-minute change. - **Price lists** - create up to 10 named price lists with per-product pricing. Assign customers to a list; they see only their price, never the list name. Set prices directly or as percentage discounts from the default list. Rounding controls for charm pricing across all currencies - Delivery charges and minimum spend thresholds - **Customisable business details** - configure invoice and packing slip content including business info, bank details, and returns policy ## What customers can do - Place orders 24/7 from any device - Browse the product catalogue with prices, pack sizes, and availability - View order history with status (pending or processed) - Reorder from previous orders - Set up your own standing orders for recurring deliveries (weekly, fortnightly, three-weekly, or four-weekly). Three days before each order is placed, get a preview email with today's prices and a one-click skip link - if you do nothing, the order goes through normally. Pause to a chosen resume date or indefinitely, skip a single occurrence, or edit anytime - Cancel or update pending orders before the cut-off time - Receive and view invoices online, download PDFs - Declare payments on invoices so the merchant knows to check their bank - Dashboard with pending orders, spending summary, and most-ordered products for quick re-ordering ## Who it's for Wholesale Handler suits suppliers who take recurring, multi-line orders from a known set of trade customers, often at a different price per customer, and who handle their own delivery and take payment directly. The shape of the business matters more than the industry - the clearest fit is a supplier whose customers reorder on a regular rhythm and who runs ordering today on phone calls, WhatsApp, email, or a spreadsheet. Illustrative verticals, not a closed list: - Bakeries supplying cafes, restaurants, and shops - Fresh produce and microgreens growers supplying restaurants and grocers - Egg producers supplying trade customers - Coffee roasters supplying cafes on a weekly roast schedule - Breweries self-distributing to free houses where direct supply is legal - Florists and other small producers taking repeat trade orders Less of a fit: - Businesses that must take card payment at the point of order - Wholesale Handler tracks payments but does not process them - Pure retail or direct-to-consumer selling - customers are invited trade accounts, not the walk-in public - One-off or single-window seasonal selling where a few phone calls a year already cover it - Operations needing an ERP, warehouse management, delivery route planning, or point-of-sale ## What Wholesale Handler is NOT - No payment processing - merchants handle payments directly (bank transfer, direct debit, etc.). Built-in tracking lets both sides record and confirm payments without Wholesale Handler touching the money - No delivery tracking or route planning - No order confirmation emails - orders are confirmed instantly on-screen - Not accounting software - invoices are generated but not synced to accounting tools - Not a point-of-sale system - Not a public ecommerce store - customers must be invited by the merchant. An optional public storefront shows your products and prices to help new customers find you, but ordering still requires an invitation - No recipe costing, batch scheduling, or nutritional labelling ## Larger operations and custom limits Wholesale Handler is built for small wholesale operations, and the single plan is sized to match: up to 100 products, 50 customers, 10 price lists, and 10 active standing orders per customer. These are deliberate limits chosen to keep one simple, affordable plan - not technical ceilings - and any of them can be raised for an individual business on a custom or higher-tier basis. If your operation is larger, or you need more than one of these limits allows, email Dan directly at dan@wholesalehandler.com rather than assuming it will not fit. Bigger and non-standard setups are welcome. ## Pricing One plan with full access to all features. No transaction fees, no setup fees, no contract. Cancel anytime. 30-day free trial with full access and no credit card required. **Pricing:** | Currency | Price | |----------|----------| | GBP | £30/month | | USD | $39/month | | EUR | €35/month | | CAD | CA$55/month | | AUD | A$59/month | | NZD | NZ$70/month | **Upcoming price change:** From 1 June 2026, new monthly subscriptions will be £79 | US$109 | €89 | CA$149 | A$149 | NZ$179. Subscriptions started before that date keep current prices for as long as they stay active. ## Links - Website: https://wholesalehandler.com/ - Pricing: https://wholesalehandler.com/pricing - Free trial: https://wholesalehandler.com/free-trial - About: https://wholesalehandler.com/about - Contact: https://wholesalehandler.com/contact ## Author **Dan Edwards** - Founder Dan Edwards is a software engineer living in Aberdeen, Scotland, and the founder of Wholesale Handler. He writes about wholesale operations, B2B ordering, and small-business software. LinkedIn: https://www.linkedin.com/in/dan-edwards-developer Personal site: https://danedwardsdeveloper.com ## Static pages --- --- title: About Wholesale Handler Metadescription: I'm Dan Edwards, the software engineer behind Wholesale Handler. I built it to give small wholesalers a way out of phone, text, and email orders. author: Dan Edwards author_role: Founder --- # About Wholesale Handler Customer order portal for wholesalers - customers order online 24/7 instead of phoning, emailing, or texting. No transaction fees. ## About me I'm Dan Edwards, a software engineer in Aberdeen, Scotland. You can find out more about me on my [personal homepage.](https://danedwardsdeveloper.com/ "Portfolio for Dan Edwards, software engineer") ![Dan C. Edwards, software engineer and founder of Wholesale Handler, the customer order portal for wholesalers.](https://wholesalehandler.com/dan-c-edwards.png) ## Why I made Wholesale Handler A few years ago, my mum bought a village shop in the New Forest in Hampshire, UK, and I was very surprised to find out that the majority of her suppliers took orders over the phone. I couldn't believe all these suppliers were doing everything over the phone - it must never stop ringing! But when I looked into existing solutions, I realised that most are either far too expensive or over complicated for the kinds of tiny wholesaler my mum buys from - like her honey supplier who runs his business completely solo. I created Wholesale Handler to provide a service that makes wholesale operations easier and lets customers take orders 24/7 without the phone chaos. [See all features.](/articles/features "Features of Wholesale Handler") ## Contact Wholesale Handler is a new service and I'm actively working to improve it based on user feedback. If you have questions, suggestions, or run into any issues, please email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com) and I'll get back to you as soon as I can. --- --- title: Contact Metadescription: Get in touch with Dan Edwards, founder of Wholesale Handler. Questions, feedback and feature requests welcome. author: Dan Edwards author_role: Founder --- # Contact Wholesale Handler is a new service and I'm actively working to improve it based on user feedback. If you have questions, suggestions, or run into any issues, please email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com). ![Dan C. Edwards, software engineer and founder of Wholesale Handler, the customer order portal for wholesalers.](https://wholesalehandler.com/dan-c-edwards.png) Dan Edwards, founder of Wholesale Handler. --- --- title: Privacy policy Metadescription: How Wholesale Handler handles your data. Plain-English privacy policy covering what I collect, how I use it, and your rights. author: Dan Edwards author_role: Founder updated: 14-05-2026 --- # Privacy policy By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. ## The short version Wholesale Handler is built and run by me, Dan Edwards. I collect the minimum data needed to run the service. I don't sell it, share it with advertisers, or do anything unexpected with it. Your payment details go directly to Stripe - I never see your card numbers. ## What I collect When you create an account, I store - Your name and email address - Your business name - A hashed version of your password (never stored in plain text) As you use the service, I also store - Products, orders, invoices, and customer relationships you create - Business settings you configure (delivery preferences, packing slip text, invoice details) - Your currency (detected automatically from your country) and timezone I do not collect or store payment card details. Payments are handled entirely by Stripe. ## What I use it for Running the service. That's it. I send the following emails, all transactional - Email confirmation when you sign up - Password reset requests - Email change verification - Customer invitations (sent by merchants to their customers) - Invoices - Restock notifications - Subscription confirmation - Account deletion notifications (sent to connected businesses) - Inactive account warnings (if you haven't signed in for over a year) I do not send marketing emails. ## Where your data is stored Different parts of the service are hosted across the UK, EU, and US - Database hosted by Neon (AWS EU-West-2, London) - Application hosted by Fly.io (London) - Emails sent via Postmark (EU endpoint) - Cache hosted by Upstash (AWS US-East-1, N. Virginia) The cache only stores storefront content that merchants have explicitly submitted for publication. No personal information, account details, or authentication data is cached. Stripe processes payment data on their own infrastructure under their own privacy policy. ## Who else has access to your data | Service | What they receive | Why | | --- | --- | --- | | Stripe | Payment and billing data | Processes subscriptions | | Postmark | Email addresses | Delivers transactional emails | | Neon | All account data | Hosts the database | | Fly.io | All account data | Hosts the application | | Inngest | Event metadata | Handles background email delivery | | Sentry | Error details, IP addresses, browser information | Monitors errors and performance | | Upstash | Storefront content that merchants have submitted for publication (business details, product listings, prices) | Serves approved public storefront pages | None of these services use your data for their own marketing purposes. ## AI and machine learning I don't use your data, or your customers' data, to train artificial intelligence or machine-learning models. I also don't share your data with any AI provider for training purposes. None of the sub-processors above receives your data for AI training, and the contracts I have with them prohibit it. Wholesale Handler doesn't currently use generative AI inside the product. If I add features that do (for example, drafting an email to a customer based on order context), I'll explain in advance which AI provider is involved, what data is sent to it, and how to opt out. I'll never send your data to a third-party AI provider without telling you first. ## Cookies Wholesale Handler sets the following cookies | Name | Purpose | Duration | | --- | --- | --- | | token | Keeps you signed in to your account | 7 days | | menu\_sidebar | Remembers whether the sidebar menu is open or closed | 7 days | | demo\_industry | Remembers which industry demo you viewed so the demo stays consistent as you browse | 90 days | | current\_party | Remembers whether you are viewing the demo as a seller or buyer | 365 days | | trading\_currency | Remembers your preferred currency for products, orders and invoices | 365 days | | billing\_currency | Remembers your preferred currency for the Wholesale Handler subscription | 365 days | During checkout, Stripe may set its own cookies (such as \_\_stripe\_mid and \_\_stripe\_sid) for fraud prevention. I don't control these - see [Stripe's cookie policy](https://stripe.com/gb/cookie-settings) for details. ## Browser local storage I store a small amount of functional data in your browser's local storage to keep the demo working between page loads | Name | Purpose | | --- | --- | | demo-access-token-merchant | Remembers your demo session so your changes are saved | | demo-access-token-customer | Remembers your demo session for the customer view | | dashboard-period | Remembers your selected time range on the dashboard | This data stays in your browser and is not sent to any third party. ## Analytics I use Umami, a self-hosted analytics tool that does not use cookies and does not collect personal data. It records anonymous page views, device types, browsers, and country-level location. No individual visitors are identified or tracked. I do not use tracking pixels, advertising scripts, or any analytics service that profiles users. ## Error monitoring I use Sentry to detect and fix errors. When something goes wrong, Sentry receives technical details about the error including your IP address and browser information. ## How long I keep your data Your data is kept for as long as your account is active. If you cancel your subscription, your data remains available in read-only mode. If you haven't signed in for over a year, I'll send you an email with 30 days notice before scheduling your account for deletion. Signing in at any point resets the clock. When a merchant deletes a customer, financial records (orders and invoices) are preserved for accounting compliance. ## Deleting your data You can delete your business data (products, orders, invoices, customers) from the [settings](/settings) page in the app. To delete your account entirely, go to the Danger zone section on the [settings](/settings) page. Account deletion is scheduled immediately but your data is kept for 90 days in case of mistakes or fraudulent account takeovers. After 90 days, all data is permanently removed. If you change your mind during the 90-day window, email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com) and I can restore your account. ## Your rights Under UK GDPR, you have the right to - Access the personal data I hold about you - Correct inaccurate data - Request deletion of your data - Export your data in a portable format - Object to processing of your data To exercise any of these rights, email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com). ## Changes to this policy If I make changes, I'll update the date at the top of this page. For significant changes, I'll notify you by email. ## Contact Dan Edwards [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com) --- --- title: Terms and conditions Metadescription: Terms and conditions for using Wholesale Handler. Plain-English contract covering subscriptions, billing, your data, and what happens if things go wrong. author: Dan Edwards author_role: Founder updated: 13-05-2026 --- # Terms and conditions By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. ## The short version Wholesale Handler is a subscription service I run as a sole trader from Aberdeen, Scotland. You use it to take orders from your wholesale customers; I keep it running and charge you a flat monthly fee. These terms are the contract between us. They cover the boring but important bits: how the subscription works, what happens with your data, what I'm responsible for, and what I'm not. I've written them in plain English because lawyer-speak is mostly hostile to readers without a law degree. If you don't agree with these terms, please don't use the service. ## 1\. Who I am Wholesale Handler is operated by me, Dan Edwards, trading as a sole trader. My contact email is [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com). When these terms say "Wholesale Handler", "the service", "I" or "me", they mean me, Dan Edwards. When they say "you" or "your", they mean the business using the service. ## 2\. About these terms These terms apply every time you use Wholesale Handler. By creating an account, paying a subscription, or just continuing to use the service after I publish a new version, you agree to them. Wholesale Handler is for businesses only. You confirm that you are using the service in the course of a business, not as a consumer. UK consumer rights legislation (such as the Consumer Rights Act 2015) does not apply. You must be old enough under the law of your country to enter into a binding business contract. In Scotland and in most of the UK that's 16; in some places it's 18. If you're representing a business that you don't yourself own, you also need that business's authority to agree to these terms. These terms work together with my [privacy policy](/privacy-policy). If anything in the privacy policy contradicts these terms about how data is handled, the privacy policy wins. ## 3\. Your account You need an account to use the service. When you register, you confirm that the information you give me is accurate and that you have authority to bind your business to these terms. You're responsible for keeping your password safe. If you suspect someone else has access to your account, change your password from the settings page and let me know. You're also responsible for everything that happens under your account, including the actions of anyone you invite as a customer. If a customer of yours misuses the service, that's between you and them, not me and them. ## 4\. Free trial New accounts get a 30-day free trial with full access to the service. You don't need to enter card details to start the trial. The trial ends in one of three ways: - You subscribe during the trial. Stripe takes your card details when you subscribe but doesn't charge you until day 30. - You don't subscribe by day 30. Your account pauses but your data is kept. You can subscribe later to pick up where you left off. - I end the trial early if I reasonably believe you're abusing it (for example, creating multiple accounts to keep extending the trial). ## 5\. Subscription, billing, and renewal The subscription is a flat monthly fee. Current prices are listed on the [pricing page](/pricing). You'll see the price in your local currency when you subscribe. Payments are processed by Stripe. I don't see or store your card details; they're held by Stripe under [their own terms](https://stripe.com/legal/ssa). By subscribing, you also agree to Stripe's terms with respect to the payment. Your subscription renews automatically every month on the same date Stripe took the first payment. Renewal happens until you cancel. I'm not currently registered for UK VAT, so the prices you see are the prices you pay - no VAT is added at checkout. If I register for VAT in future I'll let you know in advance and add VAT at the prevailing rate from a stated date. Stripe sends an electronic receipt to your billing email after each successful payment. Your full payment history is available in your Stripe customer portal, which I can link you to on request. ## 6\. Failed payments If Stripe can't take a payment, it will retry automatically over several days. If the payment still fails after the retries, I'll suspend your account until it's paid. Suspension means your customers can't place new orders, but your data is kept. Once payment goes through, the account reactivates automatically. If a suspended account stays unpaid for more than 30 days, I may treat the subscription as cancelled and start the data-deletion process described in section 15. ## 7\. Cancellation You can cancel your subscription at any time from the settings page. Cancelling stops the next renewal; it doesn't end the current paid period. You keep full access to the service until the end of the period you've already paid for. After that, your account moves into a read-only state (you can sign in and export data, but customers can no longer place orders). I don't give pro-rata refunds for unused days in the period you're cancelling out of. I may cancel your subscription too, with reasonable notice, if I'm winding down the service. If that happens I'll refund any payment you've made for a period you won't get to use. ## 8\. Price changes If I change the subscription price, I'll give you at least 30 days' notice by email before the new price takes effect. If you don't want to pay the new price, you can cancel before it takes effect and you'll keep the old price for any remaining time you've paid for. Existing customers usually keep their old price for as long as they stay subscribed continuously - I generally only apply price changes to new sign-ups. If that ever changes I'll tell you in advance. ## 9\. Your data Your data is yours. I act as a data processor for the personal information you put into the service (your customers' names, email addresses, order history, and so on). You decide what to collect; I keep it safe and process it on your instructions. How I handle data, where it's stored, who else sees it, and what your rights are is all spelled out in my [privacy policy](/privacy-policy). The privacy policy is part of these terms. I won't use your data for any purpose other than running the service and doing the things described in the privacy policy. I won't sell it, share it with advertisers, or train AI models on it. If you need a Data Processing Agreement under UK GDPR Article 28, the privacy policy together with these terms is intended to satisfy that. Email me if you want something signed for a lawyer. ## 10\. Acceptable use You can use Wholesale Handler for anything a wholesale business reasonably needs to do. You can't use it to: - Resell access to the service to third parties (your customers can use your portal, but you can't sell that portal as your own service) - Reverse engineer, scrape, or copy the service for the purpose of building a competitor - Send spam, phishing emails, or anything else illegal through the service - Upload content that infringes someone else's copyright, trademark, or other rights - Probe, attack, or otherwise interfere with how the service runs - Use the service to handle goods that are illegal to sell in the UK or in your or your customer's country If you breach this section I may suspend or terminate your account without notice. ## 11\. Service availability and changes I try hard to keep the service available 24/7. I don't promise any specific uptime percentage, but in practice availability is very high. Downtime in the last year has been measured in minutes per month, not hours. Some downtime is planned (for upgrades and maintenance) and some isn't. I'll give notice for planned downtime when I can. I add, change, and occasionally remove features. If I remove a feature you depend on, I'll give you reasonable notice by email and try to suggest an alternative. I won't make a change that materially reduces the value of the service without that notice. I might also offer beta or experimental features marked as such. These are provided as-is and may break, change, or disappear without notice. ## 12\. Intellectual property I own Wholesale Handler: the code, the design, the brand, and all the prose on the marketing pages and articles. None of that transfers to you when you subscribe. You own your data and your business content (your products, prices, customer list, invoices, and so on). You give me a non-exclusive licence to host and process that content for the purpose of running the service for you. That licence ends when your account is deleted. If you give me feedback, suggestions, or feature requests, I can act on them and incorporate them into the service without owing you anything. You're not transferring ownership of anything when you do that; you're just helping me make the service better. ## 13\. Third-party services The service relies on a small set of third-party suppliers to run. The main ones are: - **Stripe** for payment processing - **Neon** for the database (AWS Europe, London) - **Fly.io** for the application servers (London) - **Postmark** for sending transactional emails - **Upstash** for caching public storefront content - **Sentry** for error monitoring - **Inngest** for background email jobs A full and current list is in the [privacy policy](/privacy-policy). Each of those providers has its own terms and privacy policy that apply to their part of the chain. If one of them goes down, the service may go down with it. I treat that as my problem to fix and choose suppliers carefully, but I can't make any third party meet a particular SLA on my behalf. ## 14\. Suspension and termination I can suspend or terminate your account if: - You materially breach these terms - Your payment fails and isn't fixed within 30 days - A regulator or law-enforcement agency asks me to (and the request is lawful) - I have reasonable grounds to believe you're using the service to commit fraud or break the law For minor or fixable issues I'll get in touch first and give you a chance to put it right. For anything serious I may act without notice. You can terminate your account at any time by cancelling and then deleting it from the settings page. ## 15\. Data export and deletion after termination When your account ends - whether you cancel, or I terminate it, or you delete it from settings - you have a window to export your data before it's deleted. Account deletion is scheduled immediately when you request it, but data is kept in a recoverable state for 90 days. This protects you from mistakes and fraudulent account takeovers. During those 90 days you can email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com) to restore the account. After 90 days, your data is permanently deleted from the database. Some financial records (orders and invoices) are kept beyond that for accounting compliance, as described in the privacy policy. Stripe keeps its own copy of your billing history under its own retention rules; that's outside my control. ## 16\. Warranties The service is provided "as is" and "as available". To the fullest extent the law allows, I don't make any warranties or representations about it, including any implied warranties of satisfactory quality, fitness for a particular purpose, or non-infringement. I don't warrant that the service will be uninterrupted, error-free, free of harmful components, or that any defect will be corrected. I don't warrant that the service will meet your specific business requirements. If a part of this section is unenforceable under UK law (for example, because I can't validly exclude a particular implied term in a B2B contract), the rest of this section still applies. ## 17\. Limitation of liability Nothing in these terms excludes or limits my liability for death or personal injury caused by my negligence, fraud, fraudulent misrepresentation, or any other liability that can't be excluded by law. Subject to that: - I'm not liable for any indirect, incidental, special, consequential, or punitive losses, including loss of profits, loss of business, loss of goodwill, or loss of data. - My total aggregate liability under or in connection with these terms - whether in contract, tort (including negligence), breach of statutory duty, or otherwise - is capped at the amount you paid me in subscription fees in the 12 months immediately before the event giving rise to the claim. The service is a low-cost SaaS product, not enterprise software with enterprise-grade contractual guarantees. This liability cap reflects that. ## 18\. Indemnity You agree to indemnify me against any third-party claim, loss, or damage I suffer as a result of: - The content you upload to the service (products, customer details, communications, and so on) - Your customers' use of the portal you operate using the service - Your breach of these terms - Any claim by HM Revenue & Customs or another tax authority relating to your VAT, your customers' VAT, or your accounts In plain terms: if a customer of yours sues me because of something you sold them through the service, that's on you, not me. ## 19\. Force majeure I'm not in breach of these terms if something outside my reasonable control prevents me from running the service. That includes major outages at my suppliers, internet-level disruptions, natural disasters, war, civil unrest, government action, and pandemics. If a force-majeure event lasts more than 30 days, either of us can terminate the subscription without penalty. If you terminate, I'll refund any payment for a period you didn't get to use. ## 20\. Governing law and disputes These terms are governed by the law of Scotland. Any dispute arising under them is subject to the exclusive jurisdiction of the Scottish courts, with Aberdeen as the convenient forum. Before going to court, please email me at [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com). Most things I'd much rather sort out directly. ## 21\. Changes to these terms If I change these terms, I'll update the date at the top of this page and notify subscribed accounts by email. The new version applies from the date stated; continued use of the service after that date means you accept the new version. If you don't accept a change, you can cancel the subscription before the new version takes effect. You'll keep the existing terms for any time you've already paid for. ## 22\. General **Assignment.** I can transfer or assign my rights and obligations under these terms (for example, if I incorporate the business or sell it). You can't transfer your rights without my written consent, which I won't unreasonably withhold. **Notices.** Notices from me to you go to the email address on your account. Notices from you to me should go to [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com). **Severability.** If a court finds part of these terms unenforceable, the rest stays in force. **Entire agreement.** These terms, together with the privacy policy and the pages they link to, are the whole agreement between us. They replace any earlier discussions, emails, or drafts. **No waiver.** If I don't enforce a right under these terms straight away, that doesn't mean I've given it up. **No partnership.** Nothing in these terms creates a partnership, employment relationship, or agency between us. **Headings.** Section headings are there to help you find things. They don't affect how the terms are interpreted. ## Contact Dan Edwards [dan@wholesalehandler.com](mailto:dan@wholesalehandler.com) --- --- title: Pricing Metadescription: Simple, transparent pricing for Wholesale Handler. 30-day free trial. No credit card. No contract. author: Dan Edwards author_role: Founder --- # Pricing Wholesale Handler is £30 | US$39 | €35 | CA$55 | A$59 | NZ$70/month. No contract. No transaction fees. Cancel anytime. 30-day free trial with full access and no credit card required. [See all features.](/articles/features "Features of Wholesale Handler") ## Q&A **Q: Is there a free trial?** A: Yes. 30 days, full access, no card required to start. Subscribe at any point during the trial - Stripe takes your card details but does not charge you until the trial ends. The first payment is taken at the end of day 30. **Q: Are there any transaction fees?** A: No. Wholesale Handler is a flat monthly subscription. You handle payments with your customers directly your revenue is unaffected. **Q: What happens after the trial?** A: If you have not subscribed by day 30, your account pauses but your data is kept. Subscribe at any time to pick up where you left off. Seasonal businesses welcome. **Q: Can I cancel at any time?** A: Yes. There is no contract. If you cancel, your account stays active until the end of your current billing period. --- --- title: Product roadmap for Wholesale Handler Metadescription: Public roadmap for Wholesale Handler - the wholesale ordering portal. Shipped features, in-flight work, and the next batch of improvements. author: Dan Edwards author_role: Founder updated: 24-05-2026 --- # Product roadmap for Wholesale Handler What's shipped, what's in flight, and what's planned next on Wholesale Handler. By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. ![Red pushpin stuck into a paper road map](https://wholesalehandler.com/red-pin-on-map.png) Wholesale Handler is built solo and ships fast. Here's a live view of what's just landed (last 90 days), what I'm building right now, what's queued up next, and ideas I'm still mulling over. ## Shipped recently - **Install Wholesale Handler on your phone** _24 May 2026_ Open Wholesale Handler in your phone's browser and use "Add to Home Screen" (iPhone Safari) or "Install app" (Android Chrome). It opens in its own window with no browser chrome - the experience is the same as a native app you'd download from an app store, with none of the App Store gatekeeping. Same install for merchants and customers. - **Standing orders** _23 May 2026_ Weekly, fortnightly, three-weekly or four-weekly recurring orders, set up by the customer or by the merchant on their behalf. Three days before each order, the customer gets a preview email with today's prices and a one-click "Skip this order" link that doesn't need a login - if they do nothing, the order fires normally at the cut-off. Pause to a specific resume date or indefinitely, skip a single occurrence, or edit any line anytime. - **Custom cut-off message** _16 May 2026_ Optional message that shows on a customer's order page once it's locked for changes but not yet processed - for example, telling them to call if they need a last-minute change. - **Terms & conditions** _13 May 2026_ A plain-English contract covering subscriptions, billing, your data, and what happens if things go wrong. - **Detailed order emails** _11 May 2026_ Optional order receipt emails for customers and merchants, with itemised line items and price changes when an order is placed, updated or cancelled. - **Choose your billing currency** _10 May 2026_ The currency you pay your subscription in can be set separately from the currency you trade in with your own customers. - **Order lock window** _5 May 2026_ Choose how long customers can edit or cancel an order after placing it, from "until the delivery cutoff" all the way down to "immediately on placement". - **Merchants can place orders on a customer's behalf** _4 May 2026_ Take an order by phone or text and enter it yourself - the customer never has to log in. Receipt emails fire to both parties just like a customer-placed order. - **Public storefronts** _22 April 2026_ Opt-in public page for your business so customers can find you. Choose which products to display, show prices to everyone or hide them behind "Contact us for pricing", and list the delivery areas you cover. - **Dashboards** _16 April 2026_ Personalised home pages for merchants and customers. Merchants see what needs attention (pending orders, draft invoices, ready-to-invoice), a revenue chart, top products and customers, quiet customers who have gone unusually silent, and an outstanding-money breakdown with aging (0-30, 30-60, 60+ days). Customers see their pending orders, unpaid invoices, this-month activity and their all-time top products. - **Data export** _16 April 2026_ Download a CSV of your invoice line items, ready to import into your accounting software. Pick a date range (this month, last quarter, custom, etc.), choose which columns to include, and rename the column headers to match what your accounting tool expects. - **Payment history on invoices** _16 April 2026_ A shared payment-reconciliation timeline so you always know which payments have come in and which haven't. Customers declare invoices paid, merchants record private bank checks, confirm receipt, raise a dispute or add notes - every event lands on the timeline. - **Payment dispute email flow** _16 April 2026_ When a customer says they've paid but you can't see the money, raise a dispute and Wholesale Handler sends a polite, professional email on your behalf - so you never have to compose the awkward "where's my money" message yourself. You preview the exact wording before it sends. - **Update invoice lines independently of the original order** _8 April 2026_ Update any product line (quantity, price, VAT) directly on the invoice, or add adjustment lines with a free-text description for refunds, discounts and one-off charges - "Dented tin", "Loyalty discount" - without touching the original order. - **Production schedules** _4 April 2026_ Combines every customer's order into one total per product per delivery date - "42 sourdough, 28 baguettes, 16 dozen eggs" - so you never have to flick through ten separate orders to plan the day's work. Generate PDF print-outs with checkboxes, and add per-day private notes. - **Price lists** _23 March 2026_ Up to 10 named price lists per merchant. Each new list starts as a percentage of your default list - set rounding (none, nearest 5, nearest 10) and charm pricing (off, .95, .99) and the prices are generated for you. Override individual prices afterwards as needed. - **Self-service account deletion** _19 March 2026_ Schedule your account for deletion, with a 90-day grace period before permanent removal. ## Building now - **Delivery day lists** A way to group customers by which days you can deliver to them, so the right delivery days show up for the right people. ## Next up - **Managed customers** Bring your existing customer list onboard on day one without sending a single email. Take orders yourself by phone, text or in person and Wholesale Handler does the back-office. Optionally add their email for invoice delivery; optionally upgrade them to a full login when they're ready. One customer record across every stage, so order history is never lost in migration. ## Considering - **Live orders page** A dedicated page that alerts you within a second of every order placed, updated or cancelled. Choose your alert style - a ringtone-style alarm that repeats until you acknowledge it, a single ding per arrival, or silent with a visual notification only. - **Out-of-stock and discontinued product handling** Instead of products silently disappearing from the catalogue, mark them temporarily unavailable with an optional note ("back in April", "weather delay") so customers know what's going on. Customers can opt in to be notified when an item returns, and regular buyers get a heads-up when a product they often order is about to go out of stock. - **Credit notes** Issue a credit against an already-sent invoice for returns, missing items or post-delivery discounts. Keeps your accounting audit trail clean by leaving the original invoice untouched. - **Keep cancelled orders visible** Cancelled orders stay in the list with a "Cancelled" status instead of disappearing, so both you and your customer have a record of what was cancelled and when. ## Help articles series --- --- title: How accounts and invitations work on Wholesale Handler Metadescription: How accounts work on Wholesale Handler - merchant sign-up, customer invitations, password resets, expiry, resending and bounce handling. Display description: Merchants and customers both have full Wholesale Handler accounts. Merchants self-sign-up and pay. Customers join only by invitation and never pay. Both sign in, reset passwords and manage their own data. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 04-05-2026 --- # How accounts and invitations work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Merchants and customers both have full Wholesale Handler accounts. Both sign in with an email and password, both can reset their password, both manage their own data. The differences are in how the account gets created and who pays. Merchants self-sign-up on the website and pay after a free trial. Customers join only by invitation from a merchant and never pay anything. ## How does a merchant create an account? 1. Click "Start free trial" on the homepage. 2. Enter your email and choose a password. 3. Click the link in the confirmation email to verify your address. 4. Set your business name, time zone and currency in Settings. You can also try the app as a demo merchant before signing up. The free trial converts the demo into a real account, keeping the data you've added. ## Can I try inviting customers before signing up? Yes. Visitors get the full app - add products, set price lists, create customer records, place orders, see how everything fits together. Real email sending only starts once you've created an account and confirmed your email address. So you can build a realistic test setup with sample customers without anyone actually receiving an email. ## How does a customer create an account? A merchant invites them. The merchant enters the customer's email address, contact name and business name. Wholesale Handler emails the customer a one-click link. The customer clicks it, sets a password, and lands in their customer portal ready to place an order. There's no public sign-up for customers - every customer account is tied to one specific wholesaler from the moment it's created. ## Do my customers need to pay to use Wholesale Handler? No. Customers never pay anything to use Wholesale Handler. There's no payment step on the invitation, no card details collected, no usage limits on their side. The merchant pays the subscription; the customer uses the site for free, forever. ## Can my customers sign in and reset their password? Yes. Once a customer accepts an invitation, they have a normal account. Customers and merchants both use the same [sign-in page](/sign-in) - Wholesale Handler detects which type of account is signing in and routes them appropriately. Password resets go through the standard "forgot password" flow, and customers can update their email address from their settings page. ## What does a customer see in the invitation email? The email is sent on behalf of the merchant with a single "Accept invitation" link. Clicking the link opens a short form where the customer sets their password. There's no app to download, no merchant directory to browse, and no decision to make about which wholesaler they're joining. The link is specific to one merchant and one customer. The account they create is permanent - they sign in with the same email and password every time they place an order. ## How long does an invitation last? 14 days. After that the link expires and the customer sees an error message if they click it. The merchant can resend, which extends the expiry by another 14 days using the same link. ## Can I resend an invitation? Yes, with two limits: a 60\-minute cooldown between resends, and a maximum of 5 resends per invitation. Old email links keep working after a resend - the link doesn't change. If an invitation has bounced, the email needs correcting first. ## What happens if my customer's email bounces? The customer row shows a red "Bounced" badge with the message "This email could not be delivered" and an inline "Update email…" action. Resending is blocked until the address is corrected. This applies to hard bounces - invalid addresses, full mailboxes, blocked domains. Soft bounces are retried automatically and never reach you. ## Can I correct a typo in a customer's email? Yes. Open the customer's drawer (or their detail page on mobile), click "Update email…" and enter the correct address. A fresh email goes out immediately, the old link stops working, and the bounce status clears. Update the email rather than deleting and re-inviting - it keeps the invitation history intact. ## What if the email failed to send entirely? If Wholesale Handler couldn't reach the email provider after retries, the customer row shows "We couldn't send this email" with an inline "Resend" action. This is rare and usually a temporary provider issue. ## How many customers can I invite? Up to 50 in total - pending invitations and confirmed customers combined. [Get in touch](/contact) if you need more. ## Do customers see each other? No. Each customer only sees their own account, their own orders, and the products and prices the merchant has set for them. Customers can't see other customers exist. ## How Wholesale Handler handles invitations The customers list shows the state of every invitation at a glance. Bounced emails appear as red badges with an "Update email…" action. Failed sends get a "Resend" button. Once a customer accepts, they move to the main list automatically. ## Q&A **Q: How do customers join Wholesale Handler?** A: A merchant invites them by email. Wholesale Handler sends a one-click link, the customer sets a password, and they land in their customer portal ready to place an order. There is no public sign-up - every customer account is tied to one specific wholesaler. **Q: Do customers pay to use Wholesale Handler?** A: No. The merchant pays the subscription. Customers never pay anything, never enter card details, and have no usage limits on their side. **Q: How long does an invitation last?** A: 14 days. After that, the link expires and the customer sees an error if they click it. The merchant can resend, which extends the expiry by another 14 days using the same link. **Q: How many times can I resend an invitation?** A: Up to 5 resends per invitation, with a 60-minute cooldown between sends. Old email links keep working after a resend - the link does not change. **Q: How many customers can I invite?** A: Up to 50 in total - pending invitations and confirmed customers combined. --- --- title: How products work on Wholesale Handler Metadescription: How products work on Wholesale Handler - adding products, pack quantities, VAT, prices, stock, seasonal availability and storefront visibility. Display description: Products are the items your customers order. You set the name, pack details, VAT, prices and (optionally) stock and seasonal availability. Each customer sees their personalised product list with the prices you've assigned them. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 04-05-2026 --- # How products work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Products are the items your customers order - bread, vegetables, eggs, Christmas trees, bouquets. You set the name, pack details, VAT, prices and (optionally) stock and seasonal availability. Each customer sees their personalised product list with the prices you've assigned them. ## How do I add a product? Open [Products](/products) and click Create product.... Fill in the name, choose how it's sold (single item or pack - more below), set the VAT rate and a price for each of your price lists. For example, a bakery might create "Sourdough loaf", a fresh produce wholesaler might create "Tomatoes 5kg crate", and an egg supplier might create "Large eggs" sold as a Box of 12. ## What do single item and pack mean? Each product is either a **single item** or a **pack** of identical items. **Single item** suits products sold one at a time: - A bakery's sourdough loaf - A florist's bouquet - A fresh produce wholesaler's "Tomatoes 5kg crate" **Pack** suits products where each unit is a container of multiple identical items - the customer orders the container, not the individual items: - An egg supplier might list a **Box of 12** eggs - A bakery might list a **Tray of 6** pastries - A winery might list a **Case of 6** bottles In pack mode you set the **unit label** (Box, Tray, Case, Bunch, Bag and Pack are suggested) and the **pack quantity**. For pack products, customers see the unit and quantity alongside the product name when ordering ("Box of 12 eggs"), so they always know what they're getting. ## How does VAT work? Each product has a VAT rate set as a whole number percentage between 0 and 100. The form defaults to 20% - set whatever rate applies to your products. Wholesale Handler calculates VAT on each line item of an order and totals it on the order itself. ## How do I set prices? Price lists let you charge different customers different amounts for the same product. Newer customers might pay full price, loyal customers might get 10% off, and trade contacts might get 20% off. Every merchant has one **Default** list and can create up to 9 more. The demo seeds \*\*Default\*\*, \*\*Storefront\*\* (+20%), \*\*Trusted\*\* (10% off) and \*\*Friends & Family\*\* (20% off) as examples to show how tiered pricing might look. When you create or update a product, you set a price per list. Each customer is assigned to one list and sees only the price from theirs. **Customers never see the list name or that other lists exist** - each customer's pricing stays private from the others. Existing orders aren't affected when you change a price - they keep the price they were placed with. For the full story see [how price lists work](/articles/how-price-lists-work-on-wholesale-handler). ## How do I track stock? Stock tracking is optional. Leave the quantity unset and Wholesale Handler treats the product as having infinite stock - fine for bakeries baking to order. Set a quantity and Wholesale Handler tracks it: orders decrement it, cancellations restore it, and customers can't order more than is left. When stock hits zero the product moves to a **Sold out** section in the customer's product list - they can subscribe to be emailed when you restock. More on the customer-facing flow in [how orders work](/articles/how-orders-work-on-wholesale-handler). You can restock using the Restock... button on the [products](/products) page. ## Can I set seasonal availability? Yes. Each product has optional **available from** and **available until** dates. Customers can only add the product to their order if their delivery date falls within the window. Use this for seasonal items within an otherwise year-round business. - A bakery's hot cross buns (Easter) or Christmas cake (November to December) - A florist's winter bouquets or Valentine's roses - A fresh produce wholesaler's asparagus (April to June) or strawberries (May to July) For closing the whole business for a season - say a christmas tree farm that only trades in November and December - holidays are a better fit. Set the off-season as a holiday range to block all delivery dates outside the trading window. Leave both date fields blank for products that are available year-round. ## Can I show products on a public storefront? Yes. The public storefront is an opt-in feature that lets prospective customers browse your range before signing up. Each product has a **show on storefront** toggle (off by default) that controls whether it's eligible to appear there. The storefront has its own setup flow - fill in business details, pick which products to include, and submit for review. There's also a single setting for whether prices appear on the storefront at all: with it off, the storefront shows a "Contact us for pricing" notice instead. For the full setup process see [how storefronts work](/articles/how-storefronts-work-on-wholesale-handler). ## How many products can I have? Up to 100 per account. [Get in touch](/contact) if you need more. ## How do I update a product? Open a product from your products list, switch to update mode, change any field - name, pack details, VAT, prices, stock, dates, storefront visibility - and save. Updates are immediate. A customer who opens the order form seconds after you save sees the new values. Existing orders aren't affected. The name, pack details, VAT and price are snapshotted onto each line item at the moment the order is placed, so: - Changing a price only affects future orders ✅ - Renaming a product doesn't change how it appears on existing orders ✅ ## How do I delete a product? Use Delete product... from the product's actions menu. Wholesale Handler asks you to confirm. Deletion is permanent. The product disappears from every customer's order form straight away. If a customer had the order form already open and tries to place an order including the deleted product, the submission is rejected and they would need to submit the order again without the deleted product. Existing orders are unaffected because each line item is already snapshotted with the product's name, pack details, VAT and price: - Deleting a product doesn't break existing orders or invoices ✅ ## How Wholesale Handler handles products The products list is your master view. Search by name or description, sort by any column, filter by availability or stock status, and open any product to see or update its details. Stock-tracked products show their remaining quantity in the list. Sold-out products are flagged with a "No stock" badge - open Restock... to see how many customers have signed up for an email when it's back. ## Q&A **Q: What is the difference between a single item and a pack?** A: A single item is sold one at a time (a sourdough loaf, a bouquet, a 5kg crate of tomatoes). A pack is a container of multiple identical items where the customer orders the container, not the individual items (a Box of 12 eggs, a Tray of 6 pastries, a Case of 6 bottles). **Q: How does VAT work?** A: Each product has a VAT rate set as a whole number percentage between 0 and 100. The form defaults to 20%. Wholesale Handler calculates VAT on each line item and totals it on the order itself. **Q: How does stock tracking work?** A: Stock tracking is optional. Leave the quantity unset and the product is treated as infinite (the default for bakeries baking to order). Set a quantity and Wholesale Handler tracks it: orders decrement it, cancellations restore it, and customers cannot order more than is left. **Q: Can I set seasonal availability?** A: Yes. Each product has optional "available from" and "available until" dates. Customers can only add the product to their order if their delivery date falls within the window. Useful for hot cross buns, asparagus, Valentine's roses and similar seasonal items. **Q: How many products can I have?** A: Up to 100 per account. --- --- title: How price lists work on Wholesale Handler Metadescription: How price lists work on Wholesale Handler - creating lists, percentages, rounding, customer assignment, deletion and existing orders. Display description: Price lists let you charge different customers different amounts for the same products. Every merchant starts with a Default list. You can create more, set a percentage of the Default, override individual prices and assign each customer to one list. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 04-05-2026 --- # How price lists work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Price lists let you charge different customers different amounts for the same products. Every merchant starts with one **Default** list, and can create more on top of it. Each customer is assigned to one list and sees only their price - never the list name, and never anyone else's price. For example, you might keep full price on the Default list, lower prices for loyal customers, and the highest price as a public-facing rate for the storefront. The demo includes \*\*Default\*\*, \*\*Storefront\*\* (+20%), \*\*Trusted\*\* (10% off) and \*\*Friends & Family\*\* (20% off) so you can see how tiered pricing looks in practice. ## How do I create a price list? Open [Price lists](/price-lists) and click Create price list.... Fill in the name, an optional description, and a percentage of Default (90 for 10% off, 110 for a 10% surcharge, blank for "set every price manually"). When you save, Wholesale Handler creates the list, populates a price for every product based on the percentage, and takes you to the list's detail page where you can review and adjust individual prices before assigning any customers. Customers aren't assigned at creation time - that comes later. A new list always starts at zero customers, so there's no risk of someone seeing a half-set-up price. ## How does the percentage of Default work? Each list (other than Default itself) has an optional **percentage of Default**. It anchors the list's prices to the Default list: - **90** - 10% cheaper than Default - **100** or **blank** - same as Default - **110** - 10% more than Default When you create a list with a percentage, every product's price is calculated from its Default price and stored on the new list. You can override any individual price afterwards (more on that below). Leaving the percentage blank means there's no anchor at all - every price on this list is set manually, with no automatic relationship to Default. ## How does rounding work? Percentage-derived prices rarely land on neat numbers. A 10% discount on $4.50 is $4.05; on $3.20 it's $2.88. Wholesale Handler can clean these up automatically using two settings: - **Rounding** - off, nearest 5, or nearest 10 minor units. $4.05 with nearest 10 becomes $4.10. $2.88 rounds to $2.90 with either nearest 5 or nearest 10 (both happen to land there). - **Charm pricing** - off, .95, or .99. ".99" snaps whole-unit prices like $3.00 and $5.00 down to $2.99 and $4.99. ".95" does the same plus anything in the .96-.99 zone snaps back to .95. When both are enabled, **charm pricing takes precedence over rounding**. If a derived price would trigger a charm value, charm fires first and the rounding step is skipped. For example, a derived price of $4.96 with nearest 10 alone would round up to $5.00 - but add ".95" charm and charm fires instead, snapping the price to $4.95. Both apply only to **derived** prices - prices calculated from the percentage. Manually overridden prices are left alone, and Default prices are never rounded by these settings (you set those directly). Adjust both from Rounding settings... in the price lists menu, or from the Pricing section of [Settings](/settings). ## Can I override an individual price? Yes. Open any list's detail page and you'll see one row per product with the current price, the Default price for reference, and a basis badge marking each row as derived (calculated from the percentage) or custom (manually set). Update a single price and click Update on that row to save it. Each row saves independently, so you can work through dozens of products without worrying about losing changes elsewhere. An overridden price stays put even if you later change the list's percentage. ## How do I assign customers to price lists? New customers are automatically assigned to the Default list when you invite them. To move customers between lists, use Move customers... from the price lists menu, or open a list's Update details... drawer and pick customers from there. Each customer is on exactly one list at a time. Moving a customer takes effect immediately - their next order uses the new list's prices. ## Do customers see the price list name? No. Customers never see the list name, the percentage, or any indication that other lists exist. They just see their own price next to each product. The list system is entirely on your side. ## How many price lists can I have? Up to 10 in total - that's the Default list plus 9 more. [Get in touch](/contact) if you need more. ## How do I update a price list? Open Update details... from the price list's row actions menu to change the name, description, percentage, or assigned customers. To update individual product prices, open the list's detail page and use the per-row update flow described above. ## What happens when I change a list's percentage? The new percentage saves immediately, but existing prices on the list **don't change**. The percentage is a starting point for \*new\* products, not a live setting that retroactively rewrites prices you may have already tuned. So if you change a list from 10% off to 20% off: - Products you create from now on get priced at 20% off Default on that list ✅ - Existing products stay at the prices they were already at ✅ - The basis badge on the detail page turns zinc for rows whose deviation no longer matches the new percentage, making it easy to spot which ones to adjust ✅ To shift existing prices to match the new percentage, open the list's detail page and update each row manually. A separate flow handles the related case where you change a \*Default\* price for a single product: after saving, Wholesale Handler asks whether to recalculate that product's price on every other list that's still tracking the percentage. ## How do I delete a price list? Use Delete price list... from the row's actions menu. Wholesale Handler asks you to confirm. The Default list cannot be deleted - there's always at least one. Any other list can be deleted, including the demo "Trusted" and "Friends & Family" examples. If the list has customers assigned, they're moved to Default first, then the list is deleted. Existing orders are unaffected because each line item already carries the price it was placed with. ## What happens to existing orders if I change a price? Existing orders keep the price they were placed with. Wholesale Handler snapshots the price onto each line item at the moment the order is placed, so: - Changing a list's percentage only affects future orders ✅ - Manually adjusting a single price only affects future orders ✅ - Deleting a list doesn't break existing orders or invoices ✅ Customers see the updated price on their next visit; nothing they've already ordered changes. ## How Wholesale Handler handles price lists The price lists page is your master view. Each row shows the list's name, how many customers are assigned to it, its percentage of Default (as a "10% off" / "5% more" badge) and the Default list is clearly marked. Open any list to see and update individual product prices, with a badge on each row showing whether the price is still tracking the list's percentage or has been manually overridden. ## Q&A **Q: What is a price list?** A: A named set of prices applied to one or more customers. Every merchant starts with a Default list and can create more on top of it. Each customer is assigned to exactly one list and sees only their own price - never the list name and never anyone else's price. **Q: How does the percentage of Default work?** A: Each list (other than Default) has an optional percentage anchor. 90 means 10% cheaper than Default; 110 means 10% more. When you create a list with a percentage, every product's price is calculated from its Default price and stored on the new list. Individual prices can be overridden afterwards. **Q: Do customers see the price list name?** A: No. Customers see one price next to each product. They never see the list name, the percentage, or any indication that other lists exist. **Q: How many price lists can I have?** A: Up to 10 in total, including the Default list. **Q: What happens to existing orders if I change a price?** A: Existing orders keep the price they were placed with. The price is snapshotted onto each line item at the moment the order is placed, so changing a list's percentage or adjusting a single price only affects future orders. --- --- title: How orders work on Wholesale Handler Metadescription: How orders work on Wholesale Handler - placing orders, delivery cutoffs, lead times, statuses, edits, cancellations and invoicing. Display description: Customers place orders themselves through the Orders page, picking from the products, prices and delivery dates you've set up. Each order is editable while pending, locks at the cutoff, then moves to processed once you've prepared it. Processed orders are ready to invoice. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 04-05-2026 updated: 11-05-2026 --- # How orders work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Orders flow through one place - your [Orders](/orders) list - whether the customer placed them themselves or you placed them on their behalf. Each order is editable while pending, locks at the cutoff, then moves to processed once you've prepared it. Processed orders are ready to invoice. ## How does a customer place an order? The customer signs in, opens [Orders](/orders) and clicks Place order.... They pick a delivery date, add quantities for the products you've made available, and complete by clicking Place order. Wholesale Handler shows them their personalised price list, hides products that aren't available on their chosen delivery date, and prevents them from picking a delivery date outside your cutoff and lead time settings. If you've set a minimum order amount, Wholesale Handler blocks orders that don't meet it. You can also charge a flat delivery fee, with an option to waive it for orders that meet the minimum spend. ## How do I place an order on behalf of a customer? You can start a new order from a few places: - The [Orders](/orders) page - click New order... - The [Customers](/customers) page - either from a customer's row, or from the menu at the top of the page - The dashboard - in the menu at the top of the page Pick a customer, choose a delivery date, add line items, and place the order. The same cutoff, lead-time and accepted-day rules apply. The order shows up in your list as a normal pending order, except you can mark it as processed straight away - there's no customer-editing window to wait for. ## How do cutoffs and lead times work together? Two settings control which delivery dates a customer can pick: the **cutoff time** and the **minimum and maximum lead days**. The cutoff is a time of day - it decides whether "today" still counts for ordering. Lead days set how soon and how far ahead a customer can request delivery. A common setup is a 5pm cutoff with a 1-day minimum and a 14-day maximum lead. Order at 4pm Monday and the picker shows Tuesday through to two weeks out. Order at 5:01pm Monday and Tuesday drops off - earliest is Wednesday. ## What's a delivery cutoff? The cutoff is the time of day after which "today" stops counting for ordering purposes. Order before the cutoff and lead time starts counting from today; order after, and it starts from tomorrow. Pick a cutoff that gives you enough time to prep what's been ordered without making customers plan further ahead than they need to. Most wholesalers set it somewhere between 3pm and 8pm. ## What are minimum and maximum lead days? **Minimum lead days** is how soon a customer can request delivery once their lead time starts. **Zero (same-day delivery)** - the customer can order today for today's delivery, as long as they order before the cutoff. With a 5pm cutoff: - Order at 4pm Monday for Monday delivery ✅ - Order at 5:01pm Monday for Monday delivery ❌ (earliest is Tuesday) Useful for collect-on-the-day businesses where prep is fast. **One** - the most common setup. At least a full day between order and delivery. With a 5pm cutoff: - Order at 4pm Monday for Tuesday delivery ✅ - Order at 5:01pm Monday for Tuesday delivery ❌ (earliest is Wednesday) **Two or more** - useful when you need to source ingredients or batch production before delivery. **Maximum lead days** is how far ahead a customer can plan. With a customer ordering on Monday 1 January: - Max = 7 - can pick any date up to Monday 8 January - Max = 14 - can pick up to Monday 15 January - Max = 30 - can pick up to Wednesday 31 January Lower values keep planning manageable and suit fresh produce. Set higher for seasonal businesses like christmas trees or pumpkins where customers commit weeks or months in advance. ## Can I take orders for a specific day or for a whole week? Both. In Settings, choose **delivery precision**: - **Daily precision** - customers pick an exact delivery date. For example, if a bakery chooses daily precision, a customer can pick a particular Thursday, and that's the day their bread arrives. - **Weekly precision** - customers pick a Monday that represents the whole Mon-Sun week. For example, if a Christmas tree farm chooses weekly precision, a customer can order for the week commencing Monday 27 November, and the trees arrive at some point during that week. Week precision is mainly for seasonal businesses like christmas trees and pumpkins, where customers might order months in advance. Most industries - bakeries, florists, egg suppliers - use daily precision. ## Which days of the week can I deliver on? In Settings, pick the days of the week you accept deliveries on - Monday, Tuesday, Wednesday and so on. This is a recurring weekly pattern, not specific dates. Customers can only pick a delivery date that falls on one of your accepted weekdays. Customers can still \*place\* orders at any time of day, on any day of the week. If a bakery doesn't work on Mondays, a customer can still place an order on a Monday - they just can't pick Monday as the delivery day. Wholesale Handler keeps taking orders even when you're not working. For example: - A bakery delivering to local cafes might accept **Mon-Fri**. - An egg supplier doing one big drop a week might accept **Thursday only**. - A florist preparing for weekend events might accept **Wed-Sat**. ## How do holidays work? Add a holiday in Settings and Wholesale Handler hides that date from the delivery date picker. Holidays support single dates and ranges: - **Single date** - a bank holiday like 1 January - **Short range** - a long weekend or trade show (e.g. 26-28 March) - **Long range** - an extended closure like Christmas (24 December - 2 January) **With weekly precision**, a week is only blocked if every accepted day in it is a holiday. If even one accepted day remains, customers can still book that week. For a wholesaler accepting Mon-Fri deliveries: - Holiday **Monday 1 - Sunday 7 January** - w/c Monday 1 January ❌ (every accepted day is in the holiday) - Holiday **Tuesday 2 - Sunday 7 January** - w/c Monday 1 January ✅ (Monday is still accepted) ## What are the order statuses? Wholesale Handler shows a single status badge per order that subsumes the raw stage, the lock state, and the invoice lifecycle. Some statuses are merchant-only - the customer's view collapses them into a friendlier set so they don't see internal-state details that don't concern them. ### Placed The customer has placed the order and it's still open for changes - they can update line items, change the delivery date, or cancel it entirely. The status stays at Placed until the cutoff for the delivery date passes, or until your configured order-lock window expires (whichever comes first). If you've set the order-lock mode to lock immediately on placement, you won't see this status at all - new orders go straight to Locked. ### Locked The order is placed and the editing window has closed. The customer can no longer update or cancel it themselves. Mark it as processed once you have prepared it. ### Processed You've prepared the order. The customer can no longer change it. Ready to invoice. ### Invoice created A draft invoice exists for this order but you haven't sent it yet. You can keep adding orders to the same draft invoice before sending. Customers see this as **Processed**. ### Invoice sent You've sent the invoice. The customer can see it on their invoices page and declare it paid once they've sent payment. ### Customer declared paid The customer has declared they've sent payment but you haven't reconciled it yet. Confirm with Mark as paid once the funds have arrived; if you can't reconcile the payment, dispute it instead. Customers see this as **Paid**. ### Paid You've confirmed the customer's payment. The invoice and order are both closed. Customers see this as **Paid**. ### Invoice disputed You couldn't reconcile a customer's payment declaration. Use this when a customer marked an invoice as paid but the funds didn't arrive. The dispute is communicated to the customer by email. Customers see this as **Invoice sent**. Cancelled orders are removed entirely - there's no "cancelled" status. ## When does an order become locked? By default, an order locks once the cutoff for its delivery date has passed. For a Tuesday delivery with a 5pm Monday cutoff, the order locks at 5pm Monday. Locked means the customer can no longer change or cancel it. You can shorten this window in Settings - see the next section. A padlock icon shows up next to pending orders so you can see which ones are still editable and which are locked. ## Can I lock orders sooner than the cutoff? Yes. The **Order lock window** setting in [Settings](/settings) controls when a customer's order locks. The default - **Until cutoff** - keeps the order editable right up to the cutoff for its delivery date. This is the most flexible option for customers and what most wholesalers want. If you'd rather lock orders sooner, you can pick: - **Immediately** - the order is locked the moment it's placed. Customers never see the **Placed** status - new orders go straight to **Locked**. - A fixed window after placement: **15 minutes**, **30 minutes**, **1 hour**, **2 hours**, **6 hours** or **24 hours**. Once the window expires, the order locks even if the delivery cutoff is still days away. The delivery cutoff always wins if it lands sooner. A 24-hour window on an order placed 6 hours before the cutoff locks at the cutoff, not at the 24-hour mark - the order can never stay editable past its delivery cutoff regardless of which window you pick. A tighter lock window suits merchants who start preparing orders the moment they come in and don't want last-minute changes. The looser default suits merchants who batch their work close to the delivery date and are happy for customers to keep tweaking until the cutoff. ## When can I mark an order as processed? For orders the customer placed, once they're locked. Until the order locks, the action is disabled - the customer might still be making changes or cancelling. When that happens depends on your Order lock window setting (see above). For orders **you** placed on the customer's behalf, you can mark them as processed straight away. There's no customer-editing window to wait for, so the lock gate doesn't apply. Either way, you can mark orders as processed individually from each order's actions menu, or in bulk by selecting multiple eligible orders at once. ## Can I revert a processed order back to pending? Yes, as long as it hasn't been invoiced. Once an invoice exists, the order's status is fixed. ## Can a customer change their order after placing it? Yes - up until the order locks. They can change quantities, add or remove products, or change the delivery date. Wholesale Handler revalidates everything on update - stock, prices, minimum spend and delivery date validity. The updated order uses today's prices, not the prices that applied when they originally placed the order. When the order locks depends on your Order lock window setting (see above). With the default **Until cutoff**, the customer can edit right up to the delivery cutoff. With **Immediately**, they can't edit at all once placed. With a fixed window like **1 hour after placement**, they have that long from when they placed the order, or until the delivery cutoff if it lands sooner. Once the order locks, the customer can no longer update or cancel it. ## Can a customer cancel their order? Yes, while it's still pending and not yet locked. Cancelling removes the order entirely and returns any finite-stock items back to your inventory. Once the order locks the customer can no longer cancel it themselves - same window as updates, controlled by your Order lock window setting. ## How is the order reference generated? Each order gets a reference like \`ORD-2026-001\`. The year is when the order was placed; the number is a running sequence across all your orders that doesn't reset each year. Numbers are padded to at least three digits. Both you and your customer see the reference, it appears on invoices, and you can search for orders by reference on the orders list. ## What happens when a product runs out of stock? Stock tracking is optional - leave the quantity unset and Wholesale Handler treats the product as infinite (the default for bakeries and similar). For products with a finite stock level, Wholesale Handler tracks the remaining quantity and prevents customers from ordering more than is left. When stock hits zero, the product moves to a **Sold out** section at the bottom of the customer's product list. They can still see it but can't add it to their order. There's a button to subscribe for a one-time email when you restock. You can restock manually, or stock returns automatically when an order is cancelled. Either way, subscribed customers get an email and the product becomes orderable again. Subscriptions clear once the notification fires - if the product sells out again, customers subscribe again. ## How do I get notified about orders? Turn on order activity emails in Settings and you'll get an email whenever a customer places, updates or cancels an order. If a customer makes several changes in quick succession, you'll get one update email rather than several. Customers can opt in to email receipts in their own settings - they'll get a copy of every order they place, update, or cancel. The order on their account is the source of truth either way; the email is just a copy. ## Are there any limits on how many orders I can take? No - there are no order count limits. Wholesale Handler caps how many customers (50) and products (100) you can have, but orders themselves are unlimited. ## How Wholesale Handler handles orders The orders list shows every order in one place, whether the customer placed it themselves or you placed it on their behalf. A status badge tells you whether each order is pending or processed, the padlock icon picks out the pending orders that are still editable by the customer, and the search bar finds orders by reference, customer name or contact name. Bulk actions sit at the bottom of the list once you've selected one or more rows: mark several eligible orders as processed in one click, or generate packing slips for a whole day's deliveries together. Once orders are processed, they show up in the **uninvoiced** drawer ready to be turned into invoices in a single batch. ## Q&A **Q: How does a customer place an order?** A: They sign in, open Orders, click "Place order...", pick a delivery date, add quantities for the products you have made available, and submit. They see their personalised price list and only the delivery dates allowed by your cutoff and lead time settings. **Q: Can I place an order on behalf of a customer?** A: Yes. Pick a customer, choose a delivery date, add line items, and place the order. It appears in your orders list as a normal pending order, except you can mark it as processed straight away - there is no need to wait for the cutoff, since you are the one placing it. **Q: What is a delivery cutoff?** A: The time of day after which "today" stops counting for ordering. Order before the cutoff and lead time starts counting from today; order after, and it starts from tomorrow. Most wholesalers set it between 3pm and 8pm. **Q: When does a customer's order lock?** A: By default, at the cutoff for its delivery date - up until then the customer can update line items, change the delivery date, or cancel. You can shorten that window in Settings via the Order lock window setting: lock immediately on placement, or after a fixed window of 15 or 30 minutes, 1, 2, 6 or 24 hours from placement. The delivery cutoff still wins if it lands sooner. If you set it to lock immediately, customers never see the Placed status - new orders go straight to Locked. **Q: What are the order statuses?** A: Wholesale Handler shows one badge per order that combines the raw stage, the lock state, and the invoice lifecycle. The merchant sees the full set - Placed, Locked, Processed, Invoice created, Invoice sent, Customer declared paid, Paid, Invoice disputed - while the customer sees a friendlier subset (Placed, Locked, Processed, Invoice sent, Paid). Cancelled orders are removed entirely - there is no separate "cancelled" status. **Q: Can a customer change their order after placing it?** A: Yes, until the order locks. They can change quantities, add or remove products, or change the delivery date. The updated order uses today's prices, not the prices that applied when it was originally placed. When the order locks depends on your Order lock window setting - by default at the delivery cutoff, but you can shorten that window. **Q: Can a customer cancel their order?** A: Yes, while it is still pending and not yet locked. Cancelling removes the order entirely and returns any finite-stock items back to your inventory. --- --- title: How standing orders work on Wholesale Handler Metadescription: How standing orders work on Wholesale Handler - weekly through four-weekly recurring orders, three-day preview emails with one-click skip and pause. Display description: A standing order places the same delivery on a repeating schedule, so a regular customer doesn't have to repeat last week's order every week. Wholesale Handler generates each delivery a few days ahead, emails a preview with a one-click skip link, then locks at the cutoff. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 23-05-2026 --- # How standing orders work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. A standing order places the same delivery on a repeating schedule - same products, same quantities, same day of the week - so a regular customer doesn't have to sign in every week to repeat last week's order. The customer or the merchant can set one up. Wholesale Handler generates each upcoming order a few days ahead of time, emails the customer a preview at today's prices with a one-click skip link, then locks the order at the usual cutoff. ## What is a standing order? A **standing order** is a rule that generates regular orders automatically. The rule sets the day of the week, the cadence (weekly, fortnightly, three-weekly, or four-weekly), the first delivery date, and the products and quantities. From there, each delivery's order is created without anyone having to log in. The generated orders show up in the normal [Orders](/orders) list and behave like any other order - same cutoff, same lock rules, same packing slip, same invoice. The only difference is who created them. ## Who can create a standing order? Either party. A customer signs in, opens [Standing orders](/standing-orders) and starts a new one with a merchant they already order from. A merchant can also create one on a customer's behalf from the same page, after picking the customer. Each customer can have up to 10 active standing orders with one supplier. Cancelled ones don't count toward the limit. ## How do I create a standing order? Open [Standing orders](/standing-orders) and start a new one. The form asks for: - **Day of the week** for the delivery. Only days the merchant accepts are selectable. Each day shows how many standing orders are already scheduled for it, so a customer adding a second Monday order can see they already have one. - **Cadence** - weekly, fortnightly, three-weekly, or four-weekly. - **First delivery date** - a list of the next 60 days, with anything outside the merchant's lead time, cutoff, or accepted-days settings shown disabled with the reason inline. - **Products and quantities** - the same picker as the one-off order form. Leave a quantity blank to skip a product. - **Optional label** - a short name like "Monday Breads" or "Friday Veg" that replaces the default "Weekly on Mondays" title on the detail page and in emails. Useful when a customer has more than one standing order with the same merchant. - **Optional delivery notes** - reused on every generated order. The summary updates as quantities change so the total cost per delivery is visible before submit. ## What does each status mean? ### Active Generating orders as scheduled. ### Paused A pause window covers today. Bounded pauses show "Paused until \[date\]" and resume themselves on their own once that date passes; indefinite pauses show "Paused indefinitely" and stay paused until someone resumes the schedule. ### Needs attention Wholesale Handler can't generate the next order without a decision - for example the merchant stopped accepting that day of the week, or a product on the standing order was discontinued. The schedule's detail page shows the specific cause and the action to take. A schedule that hasn't been paused or cancelled stays Active. Paused is automatic - a paused schedule flips back to Active on its own once the pause end date passes. ## How do I skip a single delivery? Two ways: - **From the email** - each upcoming order's preview email has a "Skip this order" link. Clicking it opens a confirmation page with the order summary and a final skip button. Two clicks total, to protect against email clients pre-fetching the link. - **From the website** - on the standing order's detail page, click Skip... and confirm. The action affects only the next delivery. Skipping cancels the already-generated upcoming order if Wholesale Handler has created one, then tells the schedule to skip that one date on the next pass. The standing order stays active and the delivery after that is unaffected. ## How do I pause a standing order? On the standing order's detail page, click Pause.... The form lists the next dozen upcoming deliveries plus a "Pause indefinitely" option. Pick the delivery date the customer wants to resume on, or pick indefinitely if they don't know yet. The submit button names the consequence - "Resume on Wed, 28 May" or "Pause indefinitely" - so there's no surprise on click. While paused: - No new orders generate for that schedule. - Any already-generated order with a delivery date inside the pause window is cancelled. Pausing stops the very next delivery even if Wholesale Handler has already created the order for it. - The status row shows "Paused until \[date\]" or "Paused indefinitely". Bounded pauses resume themselves on their own. Indefinite pauses stay paused until someone clicks Resume... on the detail page. There's no maximum pause length either way. ## How do I cancel a standing order? Click Cancel... on the detail page and confirm. Cancelling stops the schedule from generating any more orders. Orders that have already been generated stay where they are. The cancelled schedule becomes read-only and can't be reactivated, so a customer who changes their mind has to create a new standing order. ## What's the difference between pausing and cancelling? **Pausing** is temporary and reversible. The standing order keeps its history, its products, its day, and its cadence, and either resumes itself on the chosen date or waits for someone to resume it. Use it for holidays, school terms, off-seasons, or any predictable gap. **Cancelling** is permanent. Use it when the customer wants to stop the arrangement, not pause it. Creating a fresh standing order later is the way back. ## When does my standing order's order lock? The same rules as a one-off order - the order locks at the cutoff for its delivery date, unless the merchant has set a shorter lock window. See [How orders work on Wholesale Handler](/articles/how-orders-work-on-wholesale-handler) for the full picture - the standing order doesn't change any of it. The preview email shows the exact cutoff timestamp so there's never any ambiguity about when the next chance to edit closes. ## What emails does the customer receive? Two: - **One email when the standing order is created** to both the customer and the merchant. Includes the cadence, the first delivery date, the product list, and a link to the standing order's detail page. - **One email three days before each delivery** to the customer only. Includes the delivery date, the cutoff timestamp, the product list with today's prices, and a "Skip this order" link that doesn't need a login. Both emails are a copy for the customer's records. The standing order and its upcoming order on the site are the source of truth either way. If the customer does nothing with the preview email, the order fires normally at the cutoff. ## What about bank holidays? Holiday handling for standing orders is on the roadmap. Until it lands, the safe default is to skip the affected delivery from either the preview email or the detail page once it's been generated. ## Can a merchant manage a customer's standing orders? Yes. The merchant's [Standing orders](/standing-orders) page shows every customer's schedules in one table, with a day-of-week filter for finding all the Monday schedules at once. Clicking through opens the same detail page the customer sees, with the same skip, pause, and cancel actions. Useful when a customer calls and asks for a change without going through the site themselves. ## How Wholesale Handler handles standing orders The standing orders list at [Standing orders](/standing-orders) shows every active and paused schedule in one place, with the day of the week, cadence, item count, next delivery date, and status visible inline. Each generated order appears in the main [Orders](/orders) list as soon as it's created. From there it's an ordinary order - the customer can update it, skip it from the preview email, or let it lock at the cutoff. The standing order itself is the rule; the upcoming order is the thing about to be delivered. ## Q&A **Q: Can I skip just one delivery without cancelling the whole standing order?** A: Yes. Each upcoming order's preview email has a "Skip this order" link that doesn't need a login, and the standing order's detail page has the same option. Skipping affects only that one delivery - the schedule keeps running. **Q: What happens if I pause my standing order while an order is already being prepared?** A: Pausing cancels any already-generated order whose delivery date falls inside the pause window, even if Wholesale Handler created the order earlier in the week. Orders that have already locked are left alone - locked orders are real commitments. **Q: Can I change the products on my standing order?** A: Yes. Open the standing order's detail page and update the lines - the change applies to every future delivery. To change just one upcoming delivery, edit that order on the Orders list instead. **Q: How many standing orders can I have with one supplier?** A: Up to 10 active ones per supplier. Cancelled standing orders don't count toward the limit. **Q: Will my standing order keep firing on bank holidays?** A: Holiday handling for standing orders is on the roadmap. Until it lands, skip the affected delivery from the preview email or the detail page. **Q: Why didn't I receive an email for my standing order this week?** A: Check the standing order's status on its detail page. If it's Paused or Needs attention, no order will have been generated and no email will have been sent. The status row explains the cause. **Q: Can the supplier manage my standing order on my behalf?** A: Yes. The merchant's standing orders list shows every customer's schedules and they can skip, pause, or cancel any of them on the customer's behalf, the same as if the customer did it themselves. **Q: What's the difference between pausing and cancelling?** A: A pause is temporary - the standing order resumes itself on the chosen date with the same products, day and cadence. A cancel is permanent and a new standing order has to be created from scratch to start again. **Q: When does a standing order's order actually lock so I can't edit it?** A: At the cutoff for the delivery date, unless the merchant has chosen a shorter lock window in their settings. The preview email shows the exact cutoff timestamp. **Q: How do I see what's about to be delivered?** A: Each upcoming order appears in the Orders list alongside any one-off orders. The standing order's detail page also shows the next few upcoming deliveries. --- --- title: How production schedules work on Wholesale Handler Metadescription: How production schedules work on Wholesale Handler - aggregated quantities, daily and weekly views, lock status, per-customer breakdown and PDFs. Display description: A production schedule is the merchant's view of what to make for a given day or week. Wholesale Handler totals up every customer's order by product, so you can see what to bake, pack or pick - then print it as a PDF to help prepare your orders. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 05-05-2026 --- # How production schedules work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Your production schedule is the merchant's view of what to make for each delivery date. Wholesale Handler reads every pending and processed order, totals up the quantities by product, and shows you one summary per day (or per week) so you don't have to flick through ten separate orders to plan the day's work. It lives at the [Production schedule](/production) page in the menu, and every day's totals can be printed as a PDF to hand to whoever's preparing the orders. ## What is a production schedule? A production schedule turns a stack of customer orders into a single "what to make" list per delivery date. If five customers between them order 42 sourdough loaves, 28 baguettes and 16 dozen eggs for Thursday, your Thursday card on the production schedule shows exactly those three lines - not five separate orders. You start the day knowing what to make in total, not what each customer wants. ## How do I open the production schedule? Click [Production schedule](/production) in the menu. The page opens to today (if you use daily precision) or this week (if you use weekly precision), with a grid of upcoming delivery dates ahead of it. Use the chevron buttons either side of the grid to scroll backwards or forwards in time, or click **Today** / **This week** to jump back. ## What does each day on the schedule show? Every day (or week) on the grid is a card containing: - The delivery date - A lock icon showing whether the cutoff has passed - The total number of orders placed for that date - An aggregated product list - every product, with the total quantity needed across all customers - A **PDF** button to print a hand-out for that date Past dates fade slightly so the eye is drawn to upcoming production. Days with no orders show the reason - a holiday name if you've added one (like "Bank holiday Monday"), or a note that you don't deliver on that weekday. ## What does the lock icon mean? The lock icon shows whether orders for that delivery date are final. Locked The cutoff for this date has passed. Customers can no longer change, cancel or add to their orders, so the totals on this card are final. Safe to start prepping. Open The cutoff hasn't passed yet. Customers can still place, change or cancel orders, so the totals may still move before the deadline. ## How do I see which customer ordered what? Click into the date on the schedule and the detail page opens. It shows the same aggregated product list as the grid card, plus a per-customer breakdown listing every customer ordering for that date and what they ordered. Each customer's order references link straight back to the order itself if you need to check anything specific. This is mainly useful when you're moving from "make" to "pack" - the aggregated list tells you what to prepare in total, the per-customer breakdown tells you which order each item belongs to. ## How do I print a production schedule? Click **PDF** on the day's card on the grid, or open the date's detail page and click **PDF** there. The PDF lists each product with its total quantity and a checkbox - tick them off as you prepare each item. Totals match what you see on screen at the moment you generate the PDF. If the cutoff hasn't passed yet, regenerate the PDF after the lock to make sure you've got the final numbers - any orders that came in late or got changed after you printed won't be reflected on the earlier copy. ## Can I add notes to a production day? Yes. Each production day has a private notes field on its detail page - free text, saved against that date, only visible to you. Use it for things that don't belong on any customer-facing order: - A substitution you've agreed informally with a customer - A delivery instruction ("leave at side gate") - A reminder about who's picking up that day - Anything else you'd otherwise have to remember separately Notes are per-date, so a note saved against Thursday won't show up when you open Friday. ## How does daily vs weekly precision work? Your **delivery precision** setting controls how the schedule is grouped: - **Daily precision** - the grid shows individual days (Mon, Tue, Wed...) and you plan production one day at a time. This suits most wholesalers - bakeries, florists, egg suppliers, fresh produce. - **Weekly precision** - the grid shows weeks-commencing-Monday, and each card aggregates everything ordered for that whole week. This suits seasonal businesses where customers commit weeks or months ahead - Christmas trees, pumpkins, and similar. You set this in Settings under delivery precision. Switching it changes the production schedule grid the next time you open the page. ## What happens on holidays? Days you've marked as a holiday show the holiday name in place of a product list - they're not orderable, so there's nothing to make. For weekly precision, a week is only marked as a holiday if every accepted delivery day in that week falls inside the holiday range. If even one accepted day remains, the week stays orderable and the card shows the totals for the orders that did come in. ## Can I look at past production schedules? Yes. Use the chevron buttons or click **Today** / **This week** to scroll backwards through the grid - past dates stay accessible indefinitely. The detail pages for past dates also stay accessible, so you can re-print a PDF or look up what a specific customer ordered on any historical delivery date. ## How Wholesale Handler handles production schedules The production schedule is built directly from your orders, so you never enter the same information twice. Place an order on a customer's behalf and the totals on its delivery date update immediately. A customer changes their order before the cutoff and the totals change with it. The cutoff passes and the lock icon flips green - the totals are final, the PDF you print is the one you can hand to whoever's preparing the orders. The grid view is for planning - "what's the week ahead look like?". The detail view is for prepping - "what exactly am I making on Thursday, and for whom?". The PDF is the hand-out for the bench, the field, the cool-room or the workshop - wherever the actual work happens, away from the screen. ## Q&A **Q: What is a production schedule?** A: A production schedule is your view of what to make for each delivery date. Wholesale Handler adds up every customer's order line by line, so instead of reading ten orders you see one total per product - "42 sourdough, 28 baguettes, 16 dozen eggs" - for the day or week you're prepping for. **Q: How do I print my production schedule?** A: Open the Production schedule page, find the day or week you want, and click PDF on its card. The PDF shows totals per product with checkboxes you can tick off as items are prepared. **Q: What does the lock icon on each day mean?** A: A green lock means the cutoff has passed for that delivery date - the orders are final and safe to start prepping. An amber lock icon means customers can still place, change or cancel orders for that date, so the totals could still move. **Q: Can I see which customer ordered what?** A: Yes. Click into a date from the production schedule grid and you'll see a per-customer breakdown alongside the aggregated totals - useful when you're packing customer-specific bags or checking a query against a specific order. **Q: Can I add notes to a production day?** A: Yes. Each production day has a private note field where you can record anything that doesn't belong on a customer-facing order - a substitution to make, a delivery instruction, a reminder about who's collecting. **Q: Does the production schedule work for weekly deliveries?** A: Yes. If your delivery precision is set to weekly (common for Christmas tree farms, pumpkin growers and other seasonal businesses), the production schedule groups by week-commencing Monday instead of by day, and shows totals for the whole week. --- --- title: How storefronts work on Wholesale Handler Metadescription: How public storefronts work on Wholesale Handler - enabling, setup, choosing products, pricing, review and approval, editing once live and disabling. Display description: A storefront is an opt-in public page that lets prospective customers find your wholesale business through Google. You set it up in three steps, submit for review, and once approved your page goes live at /stores/your-slug. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 04-05-2026 --- # How storefronts work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. A storefront is an opt-in public page that lets prospective customers find your wholesale business through search engines. You fill in business details, pick which products to include, submit for review, and once approved your page goes live at [/stores/your-slug](/stores). Existing customers don't use the storefront - they sign in and order through their normal account. The storefront is purely an acquisition channel. ## Why have a public storefront? Many small wholesalers have no web presence and rely on word of mouth. A café owner looking for a bread supplier or a florist needing wholesale flowers has no good way to find local options. A storefront gives you a search-friendly page targeting long-tail queries like "wholesale bakery delivery Aberdeenshire" so trade buyers can discover you. ## How do I enable it? Open [Settings](/settings) and scroll to the **Storefront** section. Click Enable storefront. Nothing is published yet - this just unlocks the setup flow. The feature is opt-in: until you enable it, no storefront exists for your account, and the storefront-related options on your products and price lists stay hidden. ## How do I set it up? Once enabled, the setup flow has three steps: - Details - your slug (the part of the URL after \`/stores/\`), country, business description, city and delivery areas. The description is what search engines show in results, so there's a character target shown on the field. - Products - a per-product toggle on each row of your library decides which products appear on the storefront. You can display all or a selection of your products. - Review - check how the page looks via [preview](/storefront/preview), then submit for review. The slug is locked once you save it - pick something stable. Delivery areas are comma-separated tags ("Aberdeen, Aberdeenshire, Dundee") and are the SEO gold: they target the long-tail search queries trade buyers actually use. ## How do I choose which products appear? Each product has a **show on storefront** toggle (off by default). Turn it on for products you want listed publicly. The toggle only appears once the storefront feature is enabled. You can manage visibility from each product's update form, or as a bulk view from the Products step of the setup flow. For details on the rest of a product's settings see [how products work](/articles/how-products-work-on-wholesale-handler). ## How does pricing on the storefront work? A storefront has a single **show prices** toggle that applies to every product on the page: - **On** - every product shows its price from the dedicated **Storefront** price list (typically your highest, public-facing rate) - **Off** - every product shows "Contact for pricing" instead **Showing prices** [Blue Ridge Christmas Trees](/stores/blue-ridge-christmas-trees) displays a price next to every product on the page. **Hiding prices** [Magnolia Street Bakery](/stores/magnolia-street-bakery) shows "Contact for pricing" instead. The Storefront price list works like any other price list in your account - set a percentage of Default (or override individual prices) on its detail page. For the full mechanics of price lists see [how price lists work](/articles/how-price-lists-work-on-wholesale-handler). ## How does review and approval work? When you submit your storefront for review, its status moves from **draft** to **pending review** and Wholesale Handler emails me a private link to preview your page. I approve or reject it within a working day or so. If approved, your page goes live at \`/stores/your-slug\`. If rejected, you'll get an email with the reason and the storefront moves back to draft so you can edit and resubmit. Submission is blocked until you've added a business description and at least one product. Wholesale Handler tells you which one is missing. The review step is content moderation. Wholesale Handler is my website and I'm personally responsible for what is published under it, so I read each submission to make sure it's a real wholesale business and the copy is fit to publish. I'm not evaluating your style or prose - merely making sure my website isn't being used for anything untoward. ## Can I update my storefront after it's live? Yes. Updates to an approved storefront don't take it offline. The approved version stays live exactly as it was; your changes are saved as a working draft and only replace the live version once you resubmit and I re-approve. This means you can fix a typo or update your description without worrying about your page going dark. The trade-off: changes you make aren't visible to the public until they've been re-reviewed. ## How do I disable my storefront? From the Storefront section of [Settings](/settings), click Disable storefront.... If your storefront is approved or under review, Wholesale Handler asks you to confirm - disabling takes the public page offline immediately. Disabling preserves all your storefront data. If you re-enable later, your details, products and slug are still there - you don't need to start over. ## How Wholesale Handler handles storefronts The storefront sits alongside your normal merchant tools rather than on top of them. Storefront-eligible products are the same product records you sell to existing customers; the storefront price list works like any other price list; the public page reads directly from those same sources. Nothing about your day-to-day order workflow changes when you enable a storefront. The public-facing side - your \`/stores/your-slug\` page, structured data for search engines, and the public directory at [/stores](/stores) - is generated automatically from your details and your storefront-flagged products. ## Q&A **Q: What is a Wholesale Handler storefront?** A: An opt-in public page that lets prospective customers find your wholesale business through search engines. You fill in business details, pick which products to include, submit for review, and once approved your page goes live at /stores/your-slug. Existing customers do not use it - it is purely an acquisition channel. **Q: How do I set up a storefront?** A: Three steps. Details: slug, country, business description, city and delivery areas. Products: a per-product toggle decides which products appear publicly. Review: check the preview and submit for moderation. **Q: How does pricing on the storefront work?** A: A single "show prices" toggle applies to every product on the page. On - every product shows its price from the dedicated Storefront price list (typically your highest, public-facing rate). Off - every product shows "Contact for pricing" instead. **Q: How does review and approval work?** A: When you submit, the storefront moves from draft to pending review. Dan personally reads each submission to make sure it is a real wholesale business and the copy is fit to publish, and approves or rejects within a working day or so. If rejected, you get an email with the reason. **Q: Can I update my storefront after it is live?** A: Yes. Updates do not take the page offline. The approved version stays live exactly as it was; your changes are saved as a working draft and only replace the live version once you resubmit and it is re-approved. --- --- title: How packing slips work on Wholesale Handler Metadescription: Generate packing slip PDFs for one order or a whole day's deliveries on Wholesale Handler. What's on the slip, the standing info field and bulk printing. Display description: A packing slip is a printable PDF telling whoever's loading the van exactly what goes in each customer's crate. Wholesale Handler generates them directly from the order, with quantities, delivery date and any standing notes you want printed on every slip. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 20-05-2026 --- # How packing slips work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. A packing slip is a printable PDF for each customer's order, telling whoever's loading the van exactly what's in their crate. Wholesale Handler builds it for you from the order itself, so the slip always matches the order as it stands the moment you click the button - no copying out by hand, no out-of-date notes. You can print one slip for one order, or a whole day's deliveries in a single click. ## What is a packing slip? A packing slip is a print-friendly version of the order - same customer, same line items, same delivery date, but no prices and with your standing delivery notes underneath. It goes out with each delivery so whoever's packing or driving can check the right items are in the right crate. The customer typically signs it on delivery or keeps it as a record of what arrived. A packing slip in Wholesale Handler shows: - Your business name and the customer's business name and contact name - The order reference - The delivery date - Every line item on the order, with quantity, pack size and unit label - Any standing information you've added under **Packing slip information** in [Settings](/settings) There are no prices on a packing slip. If you need a document with prices, that's an invoice. ## How do I generate a packing slip for one order? Two routes: - From the [Orders](/orders) list - open the order's actions menu and click Generate packing slip - From the order's detail page - click Generate packing slip at the top Either way, Wholesale Handler builds the PDF and opens it in a new tab. From there you print it, save it, or do whatever your delivery workflow needs. You can generate a packing slip at any point - including for a brand new order that the customer might still change. If you want to be certain the contents won't shift between printing and delivery, wait until the order has locked - but nothing stops you printing one earlier if that fits your workflow. ## How do I generate packing slips for a whole day's deliveries? From the [Orders](/orders) list, tick the checkbox on each order you want a slip for. Use the search bar and filters to narrow the list down to (for example) Thursday's deliveries, then select them all in one go. Once you've selected at least one order, a Generate 12 packing slips action appears - click it and Wholesale Handler builds one combined PDF with each order's slip starting on a fresh page, then opens it in a new tab. Send it to the printer and you've got a stack of slips ready to go on the van. Your selections stay put as you search, filter and page through the list - so you can search "Thursday delivery", select all 12, clear the search, find a 13th order that needs to go on the same run, select it too, and then generate one combined PDF for all 13. ## What goes on the slip and what doesn't? **On the slip:** - Your business name (top) - Order reference, status, and delivery date - Customer business name and contact name - Line items with quantity, pack size and unit label - The product description, if you've added one - Your **Packing slip information** text (see below) **Not on the slip:** - Prices, totals, VAT or delivery charges - those belong on invoices - The customer's address - Wholesale Handler doesn't store delivery addresses on orders (you arrange delivery details with each customer separately) - Your contact details unless you've added them to the packing slip information field ## What is the packing slip information field? Free text that appears on every packing slip you generate. It's the same on every slip - delivery hours, your phone number, instructions for the recipient, anything you'd otherwise hand-write or stamp on each slip. Set it under **Packing slip information** in [Settings](/settings). There's a sensible default with delivery hours and a contact number to give you the shape of it - replace it with whatever fits your business. There's also a Generate example packing slip button there that builds a sample PDF from your most recent order, so you can see how your text lands on the page before you commit. Common things to include: - Delivery hours so the recipient knows when to expect you - A phone number or hours for queries about the order - Instructions about checking the delivery and reporting issues - Anything that applies to every customer (terms, returns policy, social handles) The field is optional - leave it blank and the slip just shows the order details with no extra block. ## Can a customer see their packing slip? No. Packing slips are for merchants, not the customer. The customer sees their order in their own [Orders](/orders) list with the same line items, quantities and delivery date, but they don't generate or receive a separate packing slip. The slip is for your delivery workflow - the order itself is the customer's record. ## How is a packing slip different from the production schedule? The two answer different questions: - **Packing slip** - one document per customer, per order. Answers "what goes in this customer's crate?". Use when you're packing or delivering. - **Production schedule** - one document per day (or week), totalled across every customer. Answers "what do I need to make in total today?". Use when you're prepping or baking. A bakery prepping Thursday's run would print the production schedule for Thursday - "make 42 sourdough, 28 baguettes" - bake all of it, then pack from packing slips - "Café A gets 4 sourdough and 2 baguettes, Café B gets 6 sourdough and 4 baguettes, ...". See [how production schedules work](/articles/how-production-schedules-work-on-wholesale-handler). ## What happens if the order changes after I generate the slip? The PDF reflects the order as it stood the moment you clicked the button. If the customer (or you) updates the order after that, the PDF on your desk is now out of date - just generate it again to get a fresh version. This is the usual reason to wait until the order has locked before printing slips. Once it's locked, the customer can't change it any more, so the slip you print will still be accurate at delivery time. When orders lock is controlled by the **Order lock window** setting in [Settings](/settings) - see [how orders work](/articles/how-orders-work-on-wholesale-handler) for the full mechanics. ## Can I generate a packing slip for a cancelled order? No. Cancelled orders are removed from your orders list entirely, so there's nothing to generate a slip from. If you need a record of a cancelled order, the order activity email you received when it was placed has the details. ## How Wholesale Handler handles packing slips Packing slips are built fresh from the order every time you click the button - there's no separate packing-slip document sitting somewhere that you have to keep in step with the order. Change the order, generate again, and the new PDF reflects the change. Print one slip for one order from the order's actions menu, or select a batch of orders on the list and print the whole day's slips in a single combined PDF. The **Packing slip information** field is the only standing text attached to packing slips - everything else comes from the order itself. Edit it once and every slip you generate from then on picks it up; print an example slip directly from the settings card to see how it lands before you rely on it for a real delivery. ## Q&A **Q: What is a packing slip?** A: A packing slip is a print-friendly version of the order - same customer, same line items, same delivery date, but no prices and with your standing delivery notes underneath. It goes out with each delivery so whoever's packing or driving can check the right items are in the right crate. **Q: How do I generate a packing slip for one order?** A: Open the order's actions menu from the Orders list (or open the order itself) and click Generate packing slip. Wholesale Handler builds the PDF and opens it in a new tab - print it, save it, or do whatever your delivery workflow needs. **Q: How do I generate packing slips for a whole day's deliveries?** A: Tick the orders you want on the Orders list, then click the Generate N packing slips action that appears. Wholesale Handler combines every selected order into one PDF with each slip starting on a fresh page, then opens it in a new tab ready to print. **Q: Can a customer see their packing slip?** A: No. Packing slips are for merchants, not customers. The customer sees their order in their own Orders list with the same line items, quantities and delivery date, but they don't generate or receive a separate packing slip. **Q: How is a packing slip different from the production schedule?** A: A packing slip is one document per customer, per order, answering "what goes in this customer's crate?". A production schedule is one document per day or week, totalled across every customer, answering "what do I need to make in total today?". Use packing slips when packing or delivering, the production schedule when prepping or baking. **Q: What happens if the order changes after I generate the slip?** A: The PDF reflects the order as it stood the moment you clicked the button. If the order changes after that, the printed PDF is out of date - just generate it again to get a fresh version. This is why most slips are printed once the order has locked. **Q: Can I generate a packing slip for a cancelled order?** A: No. Cancelled orders are removed from your orders list entirely, so there's nothing to generate a slip from. If you need a record of a cancelled order, the order activity email you received when it was placed has the details. --- --- title: How invoices work on Wholesale Handler Metadescription: How invoices work on Wholesale Handler - creating drafts, finalising and sending, payment tracking, bank checks, disputes and credit notes. Display description: An invoice is a priced record of what a customer owes you for one or more orders. Wholesale Handler creates it from the orders, you finalise and send, then both sides track payment together until it's marked paid. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 21-05-2026 --- # How invoices work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. An invoice is your formal demand for payment - the document that tells the customer "this is what you owe me, please pay it". In Wholesale Handler you build it from the orders the customer has already placed, finalise it, send it, and then both you and the customer track payment against it until it's marked paid. There's no separate "invoice book" to maintain. Invoices come straight out of the orders you've already accepted, with the line items and totals already in place. ## What is an invoice? An invoice is the document that demands payment. The orders themselves are records of what the customer bought (and at what price), but they're not in themselves a request for money - the invoice is. It's what you send when you're ready to be paid, and what the customer pays against. One invoice can cover a single order or bundle several orders together (a whole week's deliveries, say). Where a packing slip is the unpriced "what's in the crate" handed over with the delivery, the invoice is the priced "this is what you owe me" sent to settle the account. See [how packing slips work](/articles/how-packing-slips-work-on-wholesale-handler). Every invoice in Wholesale Handler shows: - Your business name, contact details and **Invoice information** text (bank details, payment instructions, anything you want on every invoice) - The customer's business name and contact name (snapshotted at send time so future edits to the customer's profile don't change historical invoices) - A unique reference like INV-2026-042 (per-merchant sequence) - The orders it covers, with their delivery dates - Every line item - quantity, pack size, unit price, line total, VAT - Any adjustments you've added (delivery charges, discounts, credits) - Subtotal, VAT total and grand total - Status (Draft, Sent, Customer declared paid, Paid, or Disputed) ## How do I create an invoice from an order? From the [Orders](/orders) list or an order's detail page, open the order's actions menu and click Create invoice.... Wholesale Handler opens the new-invoice form pre-populated with that order's line items, customer details and totals. Review, edit if you need to (you can add adjustment lines, tweak line items, set a payment reference), then Finalise & send... to send it - or save as a draft to come back to. Only orders that don't already belong to an invoice can be turned into one - once an order's on an invoice, it disappears from the "ready to invoice" pool. ## How do I create one invoice for several orders? From the [Orders](/orders) list, tick the orders you want to bundle. They must all be the same customer - you can't put orders from two different customers on one invoice. Once you've selected at least one, a **Create N invoices...** action appears - click it and Wholesale Handler builds a single draft invoice covering all the selected orders, with each order's line items listed in order of delivery date. This is the usual route for weekly invoicing - select every Monday-to-Friday order for a customer, create one invoice, send it on Friday afternoon. ## What's the difference between a draft and a sent invoice? A draft is editable. You can add or remove line items, add adjustments, update the payment reference, and tweak anything you want. Drafts don't have a reference number assigned yet and the customer can't see them. Once you click Finalise & send..., the invoice locks: - A reference (INV-2026-042) is assigned from your per-merchant sequence - Customer name and email are snapshotted onto the invoice - An email goes out to the customer with a link to view it - The status moves from Draft to Sent - Line items, totals and adjustments are frozen The only field you can still edit on a sent invoice is the payment reference - useful if you set up a new bank account or change the reference format mid-flow. ## How do invoice references work? References use the format INV-YYYY-NNN, where YYYY is the current year and NNN is a per-merchant counter that increments each time you send. Two different merchants on Wholesale Handler can both have an INV-2026-001 - the sequence is yours alone, not shared across the platform. The reference is assigned only when you finalise and send - drafts don't burn a number. ## What is the invoice information field? Free text that lands on every invoice you send - your bank details, payment terms, contact hours, returns policy, anything you'd otherwise hand-write or stamp. Set it under **Invoice information** in [Settings](/settings). There's a sensible default to give you the shape of it - replace it with whatever fits your business. There's also a Generate example invoice button there that builds a sample PDF from your most recent invoice, so you can see how your text lands on the page before you commit. Common things to include: - Bank account name, sort code and account number - Payment terms ("Payment due within 14 days") - A phone number or hours for queries about the invoice - Notes about late payment or credit terms The field is optional - leave it blank and the invoice just shows the line items and totals with no extra block. ## How does sending an invoice work? Click Finalise & send... from the draft. Wholesale Handler: 1. Assigns the next reference from your sequence 2. Snapshots the customer's name and email onto the invoice (so future profile edits don't rewrite history) 3. Emails the customer with a link to view the invoice 4. Moves the status to Sent From there, the customer sees the invoice in their own [Invoices](/invoices) list and can declare payment when they've sent the money. ## How does payment tracking work? Two paths, depending on whether the customer uses the "I've paid" button or you just mark it paid yourself: **Customer-led:** 1. Customer sends payment via bank transfer (or whatever method you've agreed) 2. Customer clicks I've paid... on their copy of the invoice - status moves to "Customer declared paid" 3. You check your bank, see the money's arrived, click Mark as paid... - status moves to Paid **Merchant-led:** 1. Customer pays (no button click on their side) 2. You check your bank, click Mark as paid... on the invoice - status moves straight to Paid Either way, marking as paid is the final state - the invoice and the orders it covers are now closed. ## What does Record bank check do? The Record bank check button on an invoice logs the fact that you've looked at your bank account and checked whether this invoice has been paid. It doesn't change the invoice status - it just leaves a timestamped event on the invoice's history. Use it when you've checked the bank, the money's not in yet, and you want to record "checked on Friday, not yet arrived" so you don't forget you've already looked. The next time you open the invoice, you'll see when you last checked. ## What happens if I can't reconcile a customer's declared payment? If a customer marks an invoice as "I've paid..." but the money doesn't arrive (wrong amount, wrong reference, wrong account, or just never sent), click Dispute declaration.... Wholesale Handler: - Emails the customer to let them know you couldn't reconcile their declaration - Logs the dispute as an event on the invoice - Reverts the customer-visible status so they're prompted to check and re-declare On your side, the invoice keeps the dispute event in its history. Once the customer fixes the payment or re-declares, the normal payment flow resumes. ## Can I add adjustments to a draft? Yes. On a draft invoice, click Add adjustment to add a one-off adjustment line - a delivery charge, a goodwill credit, a discount, a deposit deduction. Adjustments can be positive or negative, and they flow into the subtotal and VAT calculations. Common uses: - Delivery fee that varies per order - Discount for paying early - Credit for a previous over-supply - Deposit already paid being deducted ## Can I edit an invoice after sending? Mostly no - sent invoices are frozen so the customer's copy stays in sync with yours. The exception is the payment reference: click Update payment reference... to change it without unsending or re-issuing. Useful if you switched banks, or want to add an order number to the reference for reconciliation. Customer name and email are snapshotted at send time, so editing the customer's profile later won't change the invoice. If a sent invoice was genuinely wrong (wrong line items, wrong totals), the right move is to issue a credit note rather than edit it - the audit trail stays intact. ## How do customers see their invoices? Customers have their own [Invoices](/invoices) page when they log in - they see only their own invoices, with the same line items, totals and status they'd see on a paper bill. They can click into any invoice for full detail and use I've paid... to declare payment when the money's been sent. They don't have a create/send flow - invoices are merchant-driven only. Customers can't edit, delete or dispute on their side; their only action is declaring payment. ## Can I delete an invoice? A draft can be deleted - it hasn't been sent, no reference has been burned, no customer's seen it. Sent invoices stay on the record permanently so the audit trail is intact - if a sent invoice was wrong, issue a credit note rather than deleting. ## How is an invoice different from a packing slip? The two answer different questions: - **Invoice** The priced document. Answers "how much does this customer owe me?". Goes out by email when you finalise and send, lives in both your and the customer's [Invoices](/invoices) list until paid. - **Packing slip** The unpriced document. Answers "what goes in this customer's crate?". Generates as a PDF on demand, goes out with the physical delivery, doesn't track payment. A typical week: customer's orders come in across Monday-Friday, you print packing slips daily for the deliveries, and at the end of the week you bundle the orders into one invoice and send it. See [how packing slips work](/articles/how-packing-slips-work-on-wholesale-handler). ## What about automatic invoicing? Right now invoicing is fully merchant-driven - you decide when to bundle orders into an invoice and when to send it. Automatic per-customer invoicing (set a billing day per customer, cron picks up uninvoiced orders and creates drafts on that schedule) is in design but not live yet. ## How Wholesale Handler handles invoices Invoices are built from your orders - you don't enter customer details or line items twice, the invoice form starts with everything filled in. Drafts are editable, sent invoices are frozen, and the customer sees their own copy in their own [Invoices](/invoices) page. The **Invoice information** field is the only standing text attached to invoices - everything else comes from the orders themselves. Edit it once and every invoice you send from then on picks it up; generate an example invoice directly from the settings card to see how it lands before you rely on it for a real customer. Payment tracking is two-sided: the customer can declare payment with I've paid... when they've sent the money, you confirm with Mark as paid... when you've seen it arrive. If the two don't reconcile, Dispute declaration... kicks the conversation back to the customer with an email. Record bank check is the audit trail in between - "I looked, it's not in yet". There's no separate accounts package to sync with, no double-entry bookkeeping to maintain, and no manual sequence numbering - the invoice reference, the customer snapshot, the totals and the audit trail are all handled for you. You decide when to send and when to mark paid; Wholesale Handler does the rest. ## Q&A **Q: What is an invoice?** A: An invoice is the priced document that demands payment - your formal "this is what you owe me" sent to the customer once the orders have been delivered. In Wholesale Handler one invoice can cover a single order or bundle several orders together (a whole week's deliveries, say), pulling line items and totals straight from the orders themselves. **Q: What's the difference between a draft and a sent invoice?** A: A draft is editable - you can add and remove line items, add adjustments and tweak the payment reference - and the customer can't see it. Once you finalise and send, the invoice locks: a reference is assigned, customer details are snapshotted, an email goes out, and line items and totals are frozen. The only field still editable on a sent invoice is the payment reference. **Q: How does payment tracking work?** A: Two paths. Customer-led: the customer sends payment, clicks "I've paid..." on their copy, you check the bank and click "Mark as paid..." to confirm. Merchant-led: the customer just pays and you click "Mark as paid..." yourself. Either way, marking as paid is the final state - the invoice and the orders it covers are closed. **Q: Can I edit an invoice after sending?** A: Mostly no - sent invoices are frozen so the customer's copy stays in sync with yours. The only exception is the payment reference, which you can change without unsending or re-issuing. If a sent invoice was genuinely wrong, the right move is a credit note rather than an edit, so the audit trail stays intact. **Q: How is an invoice different from a packing slip?** A: An invoice is the priced document - it answers "how much does this customer owe me?", goes out by email when you finalise and send, and tracks payment until it's marked paid. A packing slip is the unpriced document that goes out with the physical delivery to confirm what's in the crate. The invoice settles the account; the packing slip confirms the goods. --- --- title: How data export works on Wholesale Handler Metadescription: How data export works on Wholesale Handler - exporting invoice data as a CSV, choosing date ranges and columns, draft exclusions and row limits. Display description: Data export gets your invoice line items out of Wholesale Handler and into your accounting software as a CSV. Pick a date range, choose your columns, click Download CSV - your browser saves a file that's already in the shape Xero, QuickBooks and FreeAgent expect. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 21-05-2026 --- # How data export works on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Data export is how you get your invoice data out of Wholesale Handler and into your accounting software. Pick a date range, choose your columns, click Download CSV and you've got a clean spreadsheet ready to import. Wholesale Handler builds the file from your invoices directly, so the numbers always match what's in the app. No copying, no re-keying, no maintaining a separate spreadsheet. ## What can I export? Right now, invoice line items as a CSV from the [Export data](/export-data) page. That's the export your accountant cares about. Other outputs in Wholesale Handler are produced from the page they belong to rather than from a central export screen: - Invoice PDFs - see [how invoices work](/articles/how-invoices-work-on-wholesale-handler) - Packing slip PDFs - see [how packing slips work](/articles/how-packing-slips-work-on-wholesale-handler) - Production schedule PDFs - see [how production schedules work](/articles/how-production-schedules-work-on-wholesale-handler) ## How do I export my invoices? Open [Export data](/export-data) and: 1. Pick a date range (see below). 2. Check the 20-row preview underneath - it shows you what's about to be exported. 3. Optionally open Customise columns... to choose which columns appear. 4. Click Download CSV. Your browser downloads the file straight to your default downloads folder. From there it's up to your accounting workflow - drag it into Xero, attach it to an email, open it in a spreadsheet, whatever fits. ## Which date ranges can I pick? Six presets covering the periods most accountants ask for: - This month - Last month - This quarter - Last quarter - Last 6 months - Custom Custom lets you set any From and To dates - useful for one-off ranges that don't line up with a calendar month or quarter. ## What's in the CSV? One row per invoice line item. Invoice-level fields (the invoice reference, customer name, status) repeat on every row for that invoice - this is the format most accounting software expects. The available columns are: ### Invoice-level - Invoice reference (INV-2026-003) - Invoice date (2026-03-15) - Date paid (blank if the invoice is unpaid) - Payment reference (a reference from your bank statement, if recorded) - Customer business name - Customer contact name - Customer email - Status ("Sent" | "Paid" | "Declared paid") - Currency (ISO 4217 code, e.g. "GBP" or "USD") - Notes (free-text notes from the invoice) ### Line-item-level - Line item type ("Product" | "Adjustment") - Description (product name, or your free-text adjustment description) - Quantity (12) - Unit price (decimal in the invoice currency, e.g. 3.50 means £3.50, not 350 pence) - VAT rate (%) - VAT method ("Exclusive" | "Inclusive") - Net amount (42.00) - VAT amount (8.40) - Gross amount (50.40) A few format choices worth knowing: - Dates use ISO format - year-month-day, e.g. **2026-03-15** for 15 March 2026 - so they import the same way regardless of region and sort chronologically when you order the column alphabetically in your spreadsheet. - Amounts are plain numbers with no currency symbol - the currency lives in its own column so your accounting software can read it cleanly. - The file is encoded as UTF-8 with a byte-order mark so Excel on Windows opens it without mangling accented characters. ## Can I change the columns? Yes. Click Customise columns... and you'll see a checkbox per column with an optional text input to rename the header. Tick what you want, type the headings your accounting software expects, save. Your choice is stored against your account, so the next time you come back to export the same columns are already selected. Open the customise screen again any time to change them. ## Why are some invoices missing? Drafts are excluded from the export - only sent and paid invoices are included. That way the figures you hand to your accountant never contain numbers you hadn't finalised. If an invoice you expected is missing, check [Invoices](/invoices) to see whether it's still a draft and finalise it if so. ## Why is there a row limit? Each export is capped at 5,000 line items so the file stays quick to build and reliable to download. If your chosen period is over the cap, narrow the date range and run the export in two or three smaller chunks - your accounting software will import them just fine in sequence. ## How Wholesale Handler handles data export Pick a period, eyeball the preview, customise the columns once and never again, click Download CSV. The file matches your invoices because it's built from them directly - no separate spreadsheet to keep in sync, no manual copying, and no chance of the totals drifting between Wholesale Handler and your accounts. ## Q&A **Q: How do I export my invoice data?** A: Open the Export data page, pick a date range, optionally tweak the columns and click Download CSV. Wholesale Handler builds the file and your browser downloads it ready to import into your accounting software. **Q: What format is the export?** A: A standard CSV file with one row per invoice line item. Dates use ISO format (2026-03-15), amounts are plain numbers with no currency symbol, and the currency lives in its own column - chosen for clean imports into Xero, QuickBooks, FreeAgent and anything else that takes a CSV. **Q: Can I choose which columns are exported?** A: Yes. Open Customise columns and tick the ones you want, optionally renaming them to match the headings your accounting software expects. Your choice is saved against your account and reused for the next export. **Q: Why aren't draft invoices in my export?** A: Only sent and paid invoices are included. Drafts are excluded so the export never contains figures you haven't finalised. Finalise any drafts you want on the export first. **Q: Why is there a row limit?** A: Exports are capped at a few thousand line items at a time to keep the file fast to build and the download reliable. If your chosen period is over the cap, narrow the date range and run the export in smaller chunks. --- --- title: How order notification emails work on Wholesale Handler Metadescription: How order emails work on Wholesale Handler - customer order receipts, merchant activity emails, what each one sends and how to switch them on or off. Display description: Wholesale Handler can email both sides of an order. Customers switch on order receipts to get a copy of every order they place, update or cancel. Merchants switch on order activity emails to hear when a customer does the same. Both are off by default and work independently. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 27-05-2026 --- # How order notification emails work on Wholesale Handler By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. Wholesale Handler can email both sides of an order. A customer can switch on order receipts to get a copy of every order they place, update or cancel. A merchant can switch on order activity emails to hear whenever one of their customers does the same. Both are off by default, work independently, and are just a copy for your records - the order saved on the site is always the source of truth. ## What emails does Wholesale Handler send about orders? There are two separate streams, one for each side of the order. Each is controlled by its own toggle, so you only ever receive the emails you've opted into. - **Order receipts** go to the customer. When the customer has these on, they get a copy of their order each time it's placed, updated or cancelled. The placed and updated copies itemise the order with today's prices and totals; the updated copy also shows what changed. The cancelled copy is a short confirmation, because the order no longer exists to itemise. - **Order activity emails** go to the merchant. When the merchant has these on, they're emailed whenever one of their customers places, updates or cancels an order, so they hear about changes without watching the orders list. Standing orders add a few more emails on top of these - covered in [How standing orders work on Wholesale Handler](/articles/how-standing-orders-work-on-wholesale-handler) and summarised below. ## What's the difference between order receipts and order activity emails? They sound similar but they point in opposite directions. Order receipts are the customer's copy of their own order. Order activity emails are the merchant's heads-up that a customer did something. Each side owns its own toggle and only controls its own emails - a merchant turning activity emails on has no effect on whether the customer gets receipts, and the reverse is also true. The wording reflects that. The customer's email is a "receipt" - a copy for their records, not a confirmation, because the order is confirmed simply by being saved on the site. The merchant's email is an "activity" notification - it tells them what happened, with a link straight to the order. ## How do I turn order emails on or off? Open [Settings](/settings). Customers find a card called **Order receipts**; merchants find one called **Order activity emails**. Flip the switch to On or Off and save. The change takes effect from the next order - it doesn't resend emails for orders already placed. Merchants need a confirmed email address before they can switch activity emails on, since that's where the notifications go. If you're still on a free trial that hasn't confirmed its email yet, confirm it first and the toggle becomes available. ## Will the other person know I've been emailed? Yes, and that's deliberate. When a merchant has order activity emails on, the customer sees a short note on the order form before they place, change or cancel - "\[supplier\] will be notified by email when you place this order", with the wording matched to the action. It means nobody is quietly copied in without the other side knowing. The disclosure is symmetric. When a customer has receipts on, the merchant sees the equivalent note while editing or cancelling that customer's order. The note only appears when the relevant toggle is on, so an empty inbox and a missing note always agree. ## Why didn't I receive an order email? A few things have to line up before an email goes out, even with the toggle on: - The toggle is off. This is the common one - both default to off, so check Settings first. - The email address isn't confirmed yet. Unconfirmed accounts don't receive order emails. - It was a guest order placed without an account. There's no confirmed customer address to send a receipt to, so only the merchant's activity email goes out. - The account is a demo or has been closed. Neither receives real order emails. If none of those apply, the order itself is still safe on the site - the email is only ever a copy. Open the order to confirm it saved as expected. ## Do standing orders send their own emails? Yes. A standing order is governed by the same two toggles but sends a few extra emails on its own schedule: - A set-up confirmation to both sides when the standing order is created. - A preview to the customer a few days before each delivery, with a one-click "Skip this order" link. This one only ever goes to the customer. - An alert to both sides if a schedule is paused because it needs attention - for example, a delivery that fell under the merchant's minimum spend. See [How standing orders work on Wholesale Handler](/articles/how-standing-orders-work-on-wholesale-handler) for the full picture, including how to skip a single delivery from the preview email. ## How Wholesale Handler handles order emails Order emails are opt-in on both sides and granular by intent, not by volume. There's no digest setting and no per-order choice - each order event sends its own email the instant it happens, or nothing at all. That keeps the behaviour predictable: an email always corresponds to a real change, and the absence of one always means the toggle is off or the order didn't change. Both toggles live in [Settings](/settings), and the cross-notification disclosure on the order form means each side can see when the other is being kept in the loop. Whatever the toggles say, the order on the site is the record that counts - the email is a convenience, never the source of truth. ## Q&A **Q: Are order emails on by default?** A: No. Both order receipts (for customers) and order activity emails (for merchants) start off. Each person turns their own on in Settings, and the two are independent - one being on says nothing about the other. **Q: What's the difference between order receipts and order activity emails?** A: Order receipts go to a customer as a copy of their own order. Order activity emails go to a merchant when one of their customers places, updates or cancels an order. They're separate toggles, each owned by the person who receives the email. **Q: Does the merchant get an email when an order is cancelled?** A: Yes, if they have order activity emails switched on. The merchant is emailed when a customer places, updates or cancels an order - all three, not just new orders. **Q: Will my customer know I'm emailed about their orders?** A: Yes. While your order activity emails are on, the customer sees a note on the order form telling them you'll be emailed when they place, change or cancel the order. The same disclosure works in reverse - a merchant sees a note when the customer has receipts on. **Q: Why didn't I receive an order email?** A: The toggle has to be on and your email address confirmed. Demo and closed accounts never receive them. And an order placed by a guest without an account can't send a customer copy, because there's no confirmed address to send it to - the merchant is still emailed. **Q: Can I get a daily summary instead of one email per order?** A: Not currently. Each order event sends its own email the moment it happens - there's no digest or batching option, just on or off. **Q: Do standing orders send their own emails?** A: Yes. A standing order sends a set-up confirmation, a preview a few days before each delivery with a one-click skip link, and an alert if a schedule needs attention. The preview email only ever goes to the customer. **Q: Is the email the official record of my order?** A: No. The order saved on the site is the source of truth. The email is a copy for your records - if you do nothing with it, the order still stands exactly as saved. ## Articles --- --- title: Wholesale Handler Features Metadescription: Self-service ordering portal for wholesalers. Manage orders, inventory, invoices, and customers with automated delivery rules. Display description: Self-service ordering portal for wholesalers. Orders, inventory, invoices, and customer management. author: Dan Edwards author_role: Founder author_url: https://danedwardsdeveloper.com author_linkedin: https://www.linkedin.com/in/dan-edwards-developer published: 24-12-2025 updated: 24-05-2026 --- # Wholesale Handler Features By **[Dan Edwards](https://wholesalehandler.com/about)**, Founder. ### The problem Taking phone and email orders is time-consuming. Your customers can only order during your working hours, and you spend valuable time writing down orders that could be automated. - Orders come through phone calls, emails, WhatsApp messages, and Post-It notes - Phone calls lead to confusion and errors - The person taking orders is tied to their phone during ordering windows - Hard to keep track of everything in one place ### What Wholesale Handler does Wholesale Handler is a self-service ordering portal for wholesalers. Your customers can place orders 24/7, and the system enforces your rules automatically - delivery days, holidays, cut-off times, and minimum orders. ### For merchants #### Orders - View all orders in one place with order numbers, delivery dates, and totals - Search by order number, customer name, or business name - Filter orders by customer - Sort by date or status - Mark orders as processed - Print professional PDF packing slips for each order #### Inventory - Create and update products with names, descriptions, and pack sizes - Set VAT rates - Control product availability with "available from" and "available until" dates - Set quantities and prices per product - Optional stock quantity tracking per product - leave off for unlimited stock, or enable to track finite quantities - Restock products with "add to stock" or "set exact quantity" modes - Customers can subscribe to email notifications when out-of-stock products are restocked #### Customers - Invite your customers via email - Customers create their own passwords when they accept the invitation #### Price lists - Create up to 10 named price lists (e.g. Default, Trusted, Friends & Family) - Assign each customer to a price list - they see one price, never the list name - Set prices per product per list, or use percentage discounts from your default list - Move customers between lists at any time - Pre-assign new customers to a specific list when you invite them - Rounding controls - GBP: round to the nearest penny, 5p, or 10p, with optional charm pricing (e.g. £4.99 instead of £5.00) / USD: round to the nearest cent, 5 cents, or 10 cents, with optional charm pricing (e.g. $4.99 instead of $5.00) / EUR: round to the nearest cent, 5 cents, or 10 cents, with optional charm pricing (e.g. €4.99 instead of €5.00) / CAD: round to the nearest cent, 5 cents, or 10 cents, with optional charm pricing (e.g. $4.99 instead of $5.00) / AUD: round to the nearest cent, 5 cents, or 10 cents, with optional charm pricing (e.g. $4.99 instead of $5.00) / NZD: round to the nearest cent, 5 cents, or 10 cents, with optional charm pricing (e.g. $4.99 instead of $5.00) #### Standing orders For customers who order the same things on the same schedule - weekly, fortnightly, three-weekly, or four-weekly. The system generates each upcoming order at your cut-off time and emails the customer three days ahead with a preview at today's prices and a one-click skip link. If they do nothing, the order fires normally. - Set up by the customer themselves, or by you on their behalf - Weekly, fortnightly, three-weekly, or four-weekly cadence on a chosen delivery day - Three-day advance email with the line items, today's prices, a one-click "Skip this order" link that doesn't need a login, and a link to edit the schedule - Default-yes - if the customer does nothing, the order fires at the cut-off as planned - Pause to a specific resume date or pause indefinitely; skip a single occurrence in one click - Edit products, quantities, or the schedule itself anytime - changes apply to all future occurrences - Optional minimum-spend override per schedule for customers who reliably order below your threshold - Up to 10 active standing orders per customer #### Invoices - Create invoices from individual orders or batches - Generate invoices automatically from all un-invoiced orders for a customer - Send invoices directly to customers via email - Mark invoices as draft, sent, or paid - See total unpaid invoices - Sort and filter invoice history - Print professional PDF invoices #### Payment tracking Track who has paid and who hasn't without cross-referencing your bank against a spreadsheet. Check your bank once a week, mark off what's cleared, and move on. The system remembers everything so you don't have to. - Customers can declare payments from the same portal where they place orders - Merchants confirm or dispute declarations after checking their bank - Dispute a declaration with one click - Wholesale Handler writes and sends a professional email so you don't have to - Add payment references to invoices for easy bank matching - Full payment history timeline on every invoice - Entirely optional - customers don't have to participate, and merchants can just mark invoices as paid directly #### Data export Export invoice line items to CSV for your accounting software. Select a date range, preview the data, and download. - Preset periods (this month, last month, this quarter) or custom date ranges up to 6 months - Preview the first 20 rows before downloading - Choose which columns to include and rename them to match your accounting software - Column settings are saved so you only configure once #### Dashboard The home page shows what needs your attention and how business is going. Action items first, analytics second. - Pending orders, uninvoiced orders, and unconfirmed payments surfaced as action items - This month vs last month: order count, revenue, and average order value - Top products by quantity and top customers by spend - Quiet customers who have stopped ordering Your customers get their own dashboard too. They see pending orders, spending summaries, and their most-ordered products. Re-ordering takes a few clicks, which means more repeat business for you. #### Public storefront Opt-in public product page for your business. Nothing is published unless you choose to set it up. If you do, potential customers can find you on Google and see what you sell. - Completely optional - disabled by default, your product catalogue stays private until you decide otherwise - Choose exactly which products to display publicly - Control pricing with a dedicated storefront price list - show your public rates, not your negotiated customer prices - Show or hide prices entirely - Custom URL with your business name - SEO optimised with structured data so search engines understand your business #### Settings - **Delivery days** Choose which days of the week you typically accept deliveries - **Holidays** Block out dates when you're closed (single days or date ranges) - **Cut-off time** Set the deadline for last orders within your lead time - **Cut-off message** Write your own short message that's shown to customers once a delivery date has locked - tell them how to reach you if they really need a last-minute change, in your voice - **Lead time** Set how far in advance customers need to order (e.g., "orders must be placed 2 days in advance") - **Delivery charge and minimum spend** Choose to either charge a delivery fee on all orders, OR offer free delivery for orders above a certain amount - **Packing slip and invoice details** Add your business information, bank details, returns policy, or opening hours to include on invoices and packing slips ### For customers - Place orders any time, day or night - View complete order history with status updates (pending or processed) - Repeat previous orders and adjust quantities - Set up your own standing orders for recurring deliveries (weekly through four-weekly). Three days before each order, get a preview email with today's prices and a one-click skip link - if you do nothing, the order goes through normally. Pause to a chosen resume date or indefinitely, skip a single occurrence, or edit anytime - Receive invoices by email - Opt in to email receipts when you place, update, or cancel an order - View invoices online and download PDFs - Place orders during your wholesaler's holidays for delivery when they return ### On your phone Wholesale Handler works on iPhone and Android. Merchants can check on orders from anywhere, customers can place them on the move, all from a phone browser - no App Store download needed. For one-tap access, you can install Wholesale Handler to your phone's home screen. It opens in its own window with no browser chrome - the experience is the same as a native app you'd download from an app store. #### iPhone Open Wholesale Handler in Safari, tap Share, then "Add to Home Screen", then "Add". #### Android Open Wholesale Handler in Chrome, tap the three-dot menu, then "Install app", then "Install". ### What's not included - **No warehouse management** Simple stock tracking is included for products you sell from inventory. But there is no multi-location warehouse management, bin locations, or supply chain tracking. - **No payment processing** You handle payments directly with your customers (bank transfer, direct debit, etc.). No transaction fees and full flexibility with payment terms. Built-in payment tracking lets both sides record and confirm payments without Wholesale Handler touching the money. - **No delivery tracking** Most wholesalers already know their customers and delivery routes. No need for software to manage what's already handled well. ## Q&A **Q: What features does Wholesale Handler include?** A: Order management, product catalogue with stock tracking, customer invitations, invoice generation with payment tracking and reconciliation, delivery day scheduling with cutoff times and holidays, production schedule views, packing slips, data export to CSV, a dashboard with action items and analytics, price lists, and an optional public storefront. Customers get a portal to place orders, view history, declare payments, and repeat previous orders. **Q: How much does Wholesale Handler cost?** A: Wholesale Handler costs £30 | US$39 | €35 | CA$55 | A$59 | NZ$70 per month. There are no per-user fees, no transaction fees, and no setup costs. The price is published on the website with no sales call required. **Q: Is there a free trial?** A: Yes. 30 days, full access, no credit card required. You can try everything before deciding. - How much does wholesale bakery software cost?: https://wholesalehandler.com/articles/how-much-does-wholesale-bakery-software-cost (Markdown: https://wholesalehandler.com/articles/how-much-does-wholesale-bakery-software-cost.md) - What type of bakery software do you need?: https://wholesalehandler.com/articles/what-type-of-bakery-software-do-you-need (Markdown: https://wholesalehandler.com/articles/what-type-of-bakery-software-do-you-need.md) - Affordable software for Christmas tree farm orders: https://wholesalehandler.com/articles/affordable-software-for-christmas-tree-farm-orders (Markdown: https://wholesalehandler.com/articles/affordable-software-for-christmas-tree-farm-orders.md) - A cheaper alternative to BakeSmart for wholesale bakeries: https://wholesalehandler.com/articles/cheaper-alternative-to-bakesmart (Markdown: https://wholesalehandler.com/articles/cheaper-alternative-to-bakesmart.md) - A cheaper alternative to CyBake for wholesale bakeries: https://wholesalehandler.com/articles/cheaper-alternative-to-cybake (Markdown: https://wholesalehandler.com/articles/cheaper-alternative-to-cybake.md) - A cheaper alternative to FlexiBake for wholesale bakeries: https://wholesalehandler.com/articles/cheaper-alternative-to-flexibake (Markdown: https://wholesalehandler.com/articles/cheaper-alternative-to-flexibake.md) - Orderlion pricing - what does it actually cost?: https://wholesalehandler.com/articles/orderlion-pricing (Markdown: https://wholesalehandler.com/articles/orderlion-pricing.md) - Orderlion alternative for wholesalers: https://wholesalehandler.com/articles/orderlion-alternative-for-wholesalers (Markdown: https://wholesalehandler.com/articles/orderlion-alternative-for-wholesalers.md) - BlueCart pricing - what does it actually cost?: https://wholesalehandler.com/articles/bluecart-pricing (Markdown: https://wholesalehandler.com/articles/bluecart-pricing.md) - Why is wholesale software so expensive?: https://wholesalehandler.com/articles/why-is-wholesale-software-so-expensive (Markdown: https://wholesalehandler.com/articles/why-is-wholesale-software-so-expensive.md) - Do you need AI to take wholesale orders?: https://wholesalehandler.com/articles/do-you-need-ai-to-take-wholesale-orders (Markdown: https://wholesalehandler.com/articles/do-you-need-ai-to-take-wholesale-orders.md) - Simple wholesale ordering software that doesn't need a wiki: https://wholesalehandler.com/articles/simple-wholesale-ordering-software (Markdown: https://wholesalehandler.com/articles/simple-wholesale-ordering-software.md) - Shopify vs Wholesale Handler for wholesale bakery orders: https://wholesalehandler.com/articles/shopify-alternative-for-wholesale-bakeries (Markdown: https://wholesalehandler.com/articles/shopify-alternative-for-wholesale-bakeries.md) - How to handle wholesale customers who change their orders at the last minute: https://wholesalehandler.com/articles/how-to-handle-wholesale-customers-who-change-their-orders (Markdown: https://wholesalehandler.com/articles/how-to-handle-wholesale-customers-who-change-their-orders.md) - How to stop taking bakery orders on WhatsApp: https://wholesalehandler.com/articles/how-to-stop-taking-bakery-orders-on-whatsapp (Markdown: https://wholesalehandler.com/articles/how-to-stop-taking-bakery-orders-on-whatsapp.md) - How to automatically invoice your wholesale bakery customers: https://wholesalehandler.com/articles/how-to-automatically-invoice-wholesale-bakery-customers (Markdown: https://wholesalehandler.com/articles/how-to-automatically-invoice-wholesale-bakery-customers.md) - How to turn wholesale orders into a production list before you start baking: https://wholesalehandler.com/articles/how-to-turn-wholesale-orders-into-a-production-list (Markdown: https://wholesalehandler.com/articles/how-to-turn-wholesale-orders-into-a-production-list.md) - How to set a wholesale bakery order cutoff and actually stick to it: https://wholesalehandler.com/articles/how-to-set-a-wholesale-bakery-order-cutoff (Markdown: https://wholesalehandler.com/articles/how-to-set-a-wholesale-bakery-order-cutoff.md) - How to make packing slips for wholesale bakery deliveries: https://wholesalehandler.com/articles/how-to-make-packing-slips-for-wholesale-bakery-deliveries (Markdown: https://wholesalehandler.com/articles/how-to-make-packing-slips-for-wholesale-bakery-deliveries.md) - How to stop being the one who takes every wholesale bakery order: https://wholesalehandler.com/articles/how-to-stop-being-the-one-who-takes-every-wholesale-bakery-order (Markdown: https://wholesalehandler.com/articles/how-to-stop-being-the-one-who-takes-every-wholesale-bakery-order.md) - How to know which of your wholesale customers haven't paid you: https://wholesalehandler.com/articles/how-to-know-which-wholesale-customers-havent-paid-you (Markdown: https://wholesalehandler.com/articles/how-to-know-which-wholesale-customers-havent-paid-you.md) - Five signs your wholesale bakery has outgrown its spreadsheet: https://wholesalehandler.com/articles/five-signs-your-wholesale-bakery-has-outgrown-its-spreadsheet (Markdown: https://wholesalehandler.com/articles/five-signs-your-wholesale-bakery-has-outgrown-its-spreadsheet.md) - How to take Christmas orders from your wholesale customers without losing your mind: https://wholesalehandler.com/articles/how-to-take-christmas-orders-from-wholesale-customers (Markdown: https://wholesalehandler.com/articles/how-to-take-christmas-orders-from-wholesale-customers.md) - How to stop taking egg orders on WhatsApp: https://wholesalehandler.com/articles/how-to-stop-taking-egg-orders-on-whatsapp (Markdown: https://wholesalehandler.com/articles/how-to-stop-taking-egg-orders-on-whatsapp.md) - How to plan egg orders around seasonal production: https://wholesalehandler.com/articles/how-to-plan-egg-orders-around-seasonal-production (Markdown: https://wholesalehandler.com/articles/how-to-plan-egg-orders-around-seasonal-production.md) - How to make a packing list for wholesale egg deliveries: https://wholesalehandler.com/articles/how-to-make-a-packing-list-for-wholesale-egg-deliveries (Markdown: https://wholesalehandler.com/articles/how-to-make-a-packing-list-for-wholesale-egg-deliveries.md) - How to invoice wholesale egg customers: https://wholesalehandler.com/articles/how-to-invoice-wholesale-egg-customers (Markdown: https://wholesalehandler.com/articles/how-to-invoice-wholesale-egg-customers.md) - How to set up your first wholesale egg customer: https://wholesalehandler.com/articles/how-to-set-up-your-first-wholesale-egg-customer (Markdown: https://wholesalehandler.com/articles/how-to-set-up-your-first-wholesale-egg-customer.md) - Shopify alternative for egg wholesalers: https://wholesalehandler.com/articles/shopify-alternative-for-egg-wholesalers (Markdown: https://wholesalehandler.com/articles/shopify-alternative-for-egg-wholesalers.md) - Affordable software for fresh produce wholesalers: https://wholesalehandler.com/articles/affordable-software-for-fresh-produce-wholesalers (Markdown: https://wholesalehandler.com/articles/affordable-software-for-fresh-produce-wholesalers.md) - Order management software for fresh produce wholesalers: https://wholesalehandler.com/articles/order-management-software-for-fresh-produce-wholesalers (Markdown: https://wholesalehandler.com/articles/order-management-software-for-fresh-produce-wholesalers.md) - Shopify vs Wholesale Handler for fresh produce wholesalers: https://wholesalehandler.com/articles/shopify-alternative-for-fresh-produce-wholesalers (Markdown: https://wholesalehandler.com/articles/shopify-alternative-for-fresh-produce-wholesalers.md) - Orderlion vs Wholesale Handler for fresh produce wholesalers: https://wholesalehandler.com/articles/orderlion-alternative-for-fresh-produce-wholesalers (Markdown: https://wholesalehandler.com/articles/orderlion-alternative-for-fresh-produce-wholesalers.md) - How to update fresh produce prices without calling every customer: https://wholesalehandler.com/articles/update-fresh-produce-prices-without-calling-customers (Markdown: https://wholesalehandler.com/articles/update-fresh-produce-prices-without-calling-customers.md) - How to stop copying WhatsApp orders into a spreadsheet at 4am: https://wholesalehandler.com/articles/stop-copying-whatsapp-orders-into-spreadsheet-at-4am (Markdown: https://wholesalehandler.com/articles/stop-copying-whatsapp-orders-into-spreadsheet-at-4am.md) - How to charge different prices to different wholesale customers: https://wholesalehandler.com/articles/how-to-charge-different-prices-to-different-wholesale-customers (Markdown: https://wholesalehandler.com/articles/how-to-charge-different-prices-to-different-wholesale-customers.md) - How to get restaurant customers to order produce online instead of phoning: https://wholesalehandler.com/articles/get-restaurant-customers-to-order-fresh-produce-online (Markdown: https://wholesalehandler.com/articles/get-restaurant-customers-to-order-fresh-produce-online.md) - A simpler Local Line alternative for wholesale-only farms: https://wholesalehandler.com/articles/local-line-alternative-for-wholesale-farms (Markdown: https://wholesalehandler.com/articles/local-line-alternative-for-wholesale-farms.md) - BakeSmart pricing - what does it actually cost?: https://wholesalehandler.com/articles/bakesmart-pricing (Markdown: https://wholesalehandler.com/articles/bakesmart-pricing.md) - Software for wholesale pumpkin orders: https://wholesalehandler.com/articles/software-for-wholesale-pumpkin-orders (Markdown: https://wholesalehandler.com/articles/software-for-wholesale-pumpkin-orders.md) - Using Google Forms for wholesale orders: https://wholesalehandler.com/articles/google-forms-for-wholesale-orders (Markdown: https://wholesalehandler.com/articles/google-forms-for-wholesale-orders.md) - How to organise wholesale orders in a spreadsheet (and when to stop): https://wholesalehandler.com/articles/how-to-organise-wholesale-orders-in-a-spreadsheet (Markdown: https://wholesalehandler.com/articles/how-to-organise-wholesale-orders-in-a-spreadsheet.md) - Order management software for microgreens growers: https://wholesalehandler.com/articles/software-for-microgreens-growers (Markdown: https://wholesalehandler.com/articles/software-for-microgreens-growers.md)