MERSO IT

Automation · Fulfilment

Warehouse-free operations: registered pickup points and stock flow

MERSO IT Insights · Updated July 2026 · 8 min read

Courier collecting parcels from a small registered pickup point while software manages stock and bookings

The model: you don't rent a warehouse. You register your home, a spare room, or a mini-storage unit as a ViettelPost pickup point, keep it stocked, and let software handle everything between "customer clicks buy" and "courier walks away with the parcel". Your job shrinks to two things: marketing, and making sure the shelf has goods on it. Everything else — pickup booking, labels, stock counts, low-stock alerts, reorder triggers — runs itself. For a one- or two-person shop this is not a compromise; it is the correct architecture until volume genuinely demands more.

What the software layer actually does

  1. Pickup booking per order batch. New orders accumulate; before each collection window the system books a ViettelPost pickup at your registered address for the batch, generates labels, and prints them to a thermal printer. The API mechanics are in our ViettelPost deep dive — booking, label generation and the tracking webhooks that flow back.
  2. Stock counts synced to the storefront. The shelf count lives in a small inventory service; the storefront (and TikTok Shop, if you run both — see the two-storefront article) shows availability derived from it. Sell out on the shelf and the listing pauses itself.
  3. Low-stock alerts to your phone. Per-SKU thresholds based on sales velocity, delivered by Zalo — the same channel your customers get their tracking numbers on (Zalo automation guide).
  4. Supplier reorder triggers. When projected days-of-stock falls below the supplier's lead time plus a buffer, the system drafts the reorder — quantities pre-filled from velocity — and you approve it with one tap. Approval stays human; arithmetic doesn't.

Registering the pickup point: do it properly once

Address verification is the first friction. The address you register must match what the courier's system can geocode and route — ward, district and province exactly as their address book expects, not as you'd write it on an envelope. Sloppy registration produces the worst failure mode in logistics: pickups booked successfully into a void, where no courier is ever dispatched. Verify with a few test bookings before you route real orders through, and keep the registered address details in your configuration under version control so a "quick fix" doesn't silently break routing.

Cut-off times decide your promise to customers

Every district has pickup cut-off realities: book after the last collection window and the parcel leaves tomorrow. Your automation must know the cut-off and — more importantly — your storefront's delivery promise must be derived from it. If the checkout says "ships today" at 16:40 and your district's last practical pickup was 16:00, you have automated disappointment. Encode the cut-off, batch orders against it, and roll the promise over automatically after the window closes.

Tết is not a surpriseCapacity tightens every year around Tết: pickups get missed, SLAs stretch, and carriers prioritise their largest shippers. Automation should switch to a seasonal profile — book pickups earlier in the day, widen your promised delivery windows, raise reserve stock, and alert more aggressively on bookings with no courier status change. Plan the switch on the calendar, not when the first pickup fails.

Keeping the storefront honest: the family-shelf problem

The classic warehouse-free failure has nothing to do with APIs. The shelf is in your home, and someone in the family takes two units of something for a relative — with the best intentions and no data entry. The storefront now oversells by two. You cannot patch human behaviour with a webhook, so you patch it with process:

  1. Cycle counts. A recurring task — weekly for fast movers, monthly for the rest — where you count a rotating subset of SKUs and enter actuals. The system reconciles counted versus expected and adjusts.
  2. Withdrawal logging. A one-tap "took N units of X" action in your phone, treated identically to an order in the inventory ledger.
  3. Shrinkage tracking. Persistent gaps between counts and ledger are a signal — of process failure or of a SKU that needs a dedicated box with a lid.

Scaling to two or three pickup points

When you outgrow one shelf, the same architecture extends: register a second pickup point (a relative's house across town, a mini-storage unit near your supplier), hold stock per location, and let a routing rule choose the pickup point per order — usually by destination region or by which location holds the SKU. The table below shows the decision inputs that matter in practice:

InputWhy it matters
Stock availability per pointNo booking from a location that can't fulfil the whole parcel
Destination regionShipping from the same region cuts transit time and cost
Cut-off proximityA point whose window is still open beats a nearer one that closed
Split-order policyDecide explicitly whether one order may ship from two points

Resist splitting orders across points until you must — two parcels mean two shipping fees, two tracking numbers and double the customer confusion.

Where the money side connects

COD remittances from all pickup points land in the same reconciliation ledger (how we automate đối soát), and every delivered order still flows to e-invoicing (Shopify → MISA AMIS guide). Warehouse-free changes where the goods sit — it changes nothing about your compliance obligations. For the full picture of how fulfilment, finance and marketing interlock, start with the end-to-end stack article.

Want to run a shop from one shelf and a phone?

MERSO IT builds the pickup, stock and alerting layer that makes warehouse-free operations real — and for suitable projects we demonstrate the core workflow before any payment.

Talk to Mersoid, our AI consultant