
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
- Closures stop a standing delivery, with another date offered
30 September 2026
A standing order falling on a date you've closed no longer places for that date. The customer hears about it as soon as you save the closure rather than on the day, so a shutdown declared in June is known about in June, and they're sent alternative delivery dates either side of it that they can still order for. Choosing one opens an order already holding that standing order's items, ready to place for the new date. Saving a closure that costs someone a delivery shows you who loses what before you commit, along with any orders already placed inside the dates.
- Invite imported customers in one batch
27 August 2026
An import leaves your customers uninvited, so nothing reaches them until you are ready. Inviting them is now one page rather than one customer at a time. It lists everyone still waiting with all of them selected, so sending is a single action; untick anyone you are not ready to email and they stay as they are, ready for next time. A clean import goes straight to that page, and your customer list links to it and shows how many are still waiting.
- Bulk import customers and products
26 August 2026
Bring your customer list and your product catalogue in from a spreadsheet instead of typing them in one at a time. Copy a block of rows out of Excel or Google Sheets and paste it, or drop a .csv, .tsv or .xlsx file anywhere on the page, and each column lands in the right field by its heading. Every row is checked before anything is imported - a missing detail, a malformed email address, a customer already in your book, a product already in your catalogue by name or SKU - and you fix them in place in the grid, so a row that stays wrong is skipped rather than holding up the rest. Imported customers are not invited, so you can bring the whole list in and take orders for them yourself; inviting them is a separate step. If you'd rather start from the right columns, download the template and hand the same file straight back.
Next up
- Units of sale and pack sizes
Sell a product in fixed multiples - cases of twelve, trays of six - and an order that isn't a whole multiple is refused as it's placed, rather than corrected by you afterwards. Where a pack holds a varying count, the product states the range it usually falls in ("roughly 60 to 72 per case") and the price stays on the pack.
- Addresses and business details on your paperwork
Put the details that make a packing slip useful and an invoice look professional onto every document. Each customer gets an optional delivery address, phone number, and your own account reference for them; your own business address, phone, and tax or VAT number go in your settings once and head every invoice. The delivery address prints on the packing slip so the box gets where it's going, and the invoice reads like one from an established supplier - your full details up top, the customer's ship-to address and account code in the bill-to block. An order keeps the address it was placed against, so changing a customer's address leaves the slips you've already printed as they were. All optional, and Wholesale Handler still doesn't route or track delivery for you.
Considering
- Payment terms and due dates
Each customer trades on their own payment terms - cash on delivery, Net 15, Net 30 - and every invoice they're sent carries the due date those terms give it. Moving an account onto longer terms records who agreed it and when, so older invoices keep the terms they were issued under.
- Automatic payment reminders
Unpaid invoices can be chased for you - before the due date, on the day, and at set points after it - so a follow-up doesn't depend on you remembering. Each reminder in the ladder is switched on or off individually.
- Overdue, split from outstanding
Your dashboard shows how much money is owed and how much of it is late against each customer's own terms, and the invoice list filters down to the late ones. "$2,000 outstanding, $800 of it overdue" is the sentence you can act on.
- Promises to pay
A customer who commits to a payment date has that promise recorded, and the reminders hold off until the day they named. Every promise stays on the invoice, so a customer who has broken three of them shows it.
- Told the moment a customer says they've paid
When a customer records that they've sent payment, you're told, and every declaration still waiting on your confirmation is counted in one place.
- Chasing a payment that hasn't cleared
Once a declared payment has had time to clear the bank, you're prompted to confirm it or query it. Until then it holds off the overdue reminders, so a customer who paid yesterday is not chased for being late.
- Automatic invoicing
Put each customer on a billing period - weekly, fortnightly or monthly - and their processed orders collate into a draft invoice on that day automatically, no more remembering who's due. Drafts land ready for you to review, amend and send, so the system does the boring aggregation while you keep the final say.
- Credit notes
Raise a credit note against an invoice you've already sent - for a short weight, a damaged delivery or a quality claim - so the customer is credited and the original invoice stands exactly as it was issued.
- Customers download their own invoice PDF
A customer can download the PDF of any invoice they've been sent, rather than digging back through their email for the attachment.
- The PACA trust legend on US produce invoices
A licensed US produce seller enters their PACA licence number once, and the prescribed trust statement that preserves their rights under it then prints on every invoice they issue.
- A favourites list for the regular order
Customers mark the products they order regularly and start an order from that shortlist. Prices and availability are read fresh each time, and anything that has changed since their last order is pointed out rather than applied quietly.
- Stop credit
Put a customer on stop credit and they're held off placing further orders until their account is settled. They're told they're on stop, and you can still place an order for them yourself.
- Short-shipping and substitutions
When a line can't be filled in full, record what went out instead - a short quantity or a substitute product - and both the customer and the invoice carry the change. Each customer can say in advance whether they take substitutes.
- Told when an unavailable product returns
Customers can ask to be told when a product you've marked unavailable is orderable again, and are emailed the day its window ends - the same as for a product coming back into stock or into season.
- Change one delivery without changing the schedule
Change a single upcoming standing-order delivery on its own - double the bread for one busy week - and the schedule carries on unchanged after it. Every update asks whether it applies to that delivery or to all the future ones.
- The next standing delivery on your orders page
A standing order's next delivery is listed on the orders page before it's placed, marked as scheduled, so both sides see what's coming without opening the schedule.
- Dropping a delivery day flags the schedules on it
Stop delivering on a day and every standing order set to that day is flagged as needing attention, with each of those customers emailed. Orders already generated for that day stand.
- A page for closures, with public holidays
Closures get a page of their own, and you can add your country's public holidays as a set rather than entering each date by hand. A holiday you don't close for is dismissed once and stays dismissed in later years.
- Schedule a change to your delivery days
Date a change to your delivery days or cutoffs to start on a future day, so you set the new run up once and it takes over on the day you announced. Orders placed before then keep the rules that applied when they were placed.
- A customer page that shows the trade
A customer's page carries their orders and invoices, what they've spent, how often they order, the size of a typical order, and the date they last ordered. The customer list can be filtered to regulars who have stopped ordering.
- Ask to become a customer from a storefront
A buyer who finds your public page can ask to open an account with you. They confirm their email address, and you approve them before they can order.
- Trading terms on your storefront
Your storefront can state the days you deliver, your delivery charge and the spend that waives it, and whether prices include VAT - so a buyer can tell whether you're worth contacting. Each is shown only if you choose to.
- Hand the business to someone else
Ownership of the business can be handed to a colleague, who accepts it themselves. The outgoing owner carries on as an ordinary member, and every order, invoice and customer stays where it is.
- Choose your export column order
Drag the export columns into the order your accounting package expects, so the file matches its import template column for column.
- Export customers, orders and products
Customers, orders and products each export from their own page, the way invoice line items already do, and each carries its own choice of columns, labels and order.
- Download your own personal data
Download the personal data held about you - your account details, sign-in history and the businesses you trade with - from your own settings, without having to ask for it.
- The terms shown and recorded at sign-up
The terms are linked from the sign-up screen, and the version you agreed to is recorded against your account with the date you accepted it.
- Told when the terms change
A change to the terms that materially affects you is emailed to you, and a price change is emailed thirty days ahead. Superseded versions stay readable, so a change can be compared against what you agreed to.
- 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.
Wholesale Handler