Self-fulfillment and last mile: when it pays to leave the marketplace's logistics
October 17, 2026
The self-fulfillment conversation almost always starts with an invoice. A seller opens the month’s statement, sees what the marketplace’s fulfillment fees took, compares that against a carrier quote, and concludes that shipping in-house would be cheaper. On a spreadsheet, that math sometimes works out. In a real operation, it rarely works out on its own.
The problem is not that the math is wrong. The problem is that it is incomplete. When you ship, you stop paying one fee and start paying for other things: people who pack, space that stores, materials that get consumed, labels that get bought, packages that get traced, customers who ask where their box is. None of that shows up in the carrier quote, and all of it comes out of your pocket.
And there is a cost that is not even money: visibility. On Amazon and MercadoLibre, inventory that lives inside the channel’s own logistics gets treated differently in search and on the product page. That is not a conspiracy theory, it is how both marketplaces are designed: they reward the delivery promise they can guarantee, because it is the one they have to answer for.
So the right question is not “what does Amazon charge me to ship?” but “how many net pesos do I keep per unit sold in each model, knowing that I will not sell the same number of units in both?” That is the calculation worth doing, and it is the one this post tries to assemble.
what “self-fulfillment” actually means
The term is worth pinning down, because three very different operations hide under the same label.
The first is pure self-fulfillment: your goods live in your warehouse, your team packs, you buy the label. On Amazon that is FBM (Fulfilled by Merchant), and on MercadoLibre it covers the modes where you dispatch, either printing the label the channel gives you or using your own carrier where the category allows it.
The second is self-fulfillment with the marketplace’s label. You still pack, but the channel generates the label, with its negotiated rate and its integrated tracking. Operationally it is self-fulfillment; commercially the marketplace keeps part of the promise and the tracking, and it tends to treat your metrics better than if you used an outside label with no visible tracking.
The third is a 3PL shipping on your behalf: you do not pack, but it is not the channel’s logistics either. The operator stores, packs and ships, and that inventory serves every channel from a single pool. We went deep on that comparison in 3PL vs FBA vs Full, and it is worth reading first, because half the sellers who say “I am moving to self-fulfillment” actually mean “I am moving to a 3PL”.
The last mile is the final leg: from wherever the package sits to the buyer’s door. It is the most expensive stretch per kilometer, the most sensitive to the customer’s address, and the one that decides whether the delivery lands on the promised date. It is also the leg you control least even when you ship yourself, because a carrier executes it.
Glossary: 3PL, the logistics operator that stores and ships for you →what you gain: control, cost per unit and branded packaging
Start with the good side, because it is real and routinely underestimated.
Inventory control. Your goods sit where you can touch them. You can relabel, repack, build kits, pull twenty pieces for a wholesale customer, fix a labeling mistake the same day. With FBA and Full, every one of those moves means a removal, a fee and weeks of waiting. For a catalog with variants, bundles or packaging that changes often, that flexibility is worth far more than a spreadsheet suggests.
Cost per unit, within a range. For bulky, heavy or slow-moving products, the marketplace’s fulfillment fees — and above all long-term storage — can clearly exceed what it costs you to store and ship. A SKU that turns every seven months pays seven months of rent in someone else’s warehouse; in your own, it pays a fixed rent you were already paying anyway.
Branded packaging. This is the most quoted argument and the hardest to quantify. When you pack, you choose the box, the tissue, the card, the insert. On Amazon that matters little, because the buyer knows they bought from Amazon, but on your own channel, or in a brand relationship you want to build over years, the unboxing is one of the few surfaces the marketplace does not take from you. Be honest about it, though: that investment pays back in repeat purchase, and on marketplaces repeat purchase is hard to attribute.
Capital. Sending inventory to FBA or Full means committing full batches in advance. With self-fulfillment you ship when it sells, not before. For a seller with limited capital, that difference in timing sometimes matters more than the difference in rate.
Channel flexibility. The same physical stock can serve Amazon, Meli, your own store and a B2B order. Units already inside a marketplace’s fulfillment center are married to that channel until you pay to get them out.
what you give up: visibility, reputation and your team’s hours
Now the other side, where most optimistic calculations fall apart.
Search visibility. Both marketplaces use the delivery promise as a signal. On Amazon, FBA inventory is what makes your offer Prime eligible and weighs heavily in the Buy Box contest. On MercadoLibre, Full turns on the fast-delivery badge the buyer sees before deciding, and listings with channel-managed shipping generally get better exposure than equivalent listings without it. Your listing does not disappear; it competes at a disadvantage against an identical one that carries the badge.
Shipping reputation. This is where self-fulfillment charges dearly for mistakes. When the marketplace dispatches, delays are the marketplace’s problem. When you dispatch, every late delivery, every untracked label, every cancellation for missing stock lands on your seller metrics. On Amazon that feeds account health indicators with concrete thresholds, and on MercadoLibre it moves your reputation color, which in turn moves your costs and your exposure. One bad month takes several months to clean up.
Your team’s hours. The most underestimated cost of all. Packing a hundred orders a day is not “half an afternoon”: it is one full person, plus half a person answering where-is-my-package messages, plus whoever drives to the carrier counter, plus whoever chases the lost parcel. That time has an hourly cost, and it competes against everything else the team could be doing, like buying better or opening a channel.
Peak season. Buen Fin, Hot Sale and December multiply volume. The marketplace’s logistics scales on its own, with its limits and its surcharges. Your warehouse scales by hiring temporary staff who do not know the catalog, during the most expensive week of the year. Plenty of sellers who run self-fulfillment year-round send inventory to FBA or Full for peak season only, and that is a sensible call.
Last mile outside the metro areas. A carrier’s coverage and transit times to a large destination city look nothing like those to a small town. If your buyer sits in an extended zone, cost goes up, the window stretches and the odds of an incident grow. Marketplaces absorb part of that variance with their network; you absorb it with your margin.
how to calculate what shipping yourself really costs
The most common mistake is comparing the FBA fee against the carrier rate. They are not comparable. What is comparable is the total fulfillment cost per unit sold, and for self-fulfillment that cost has at least six components:
- The label, at its real rate by zone and dimensional weight, not the list rate for the cheapest zone.
- Packing materials: box, void fill, tape, label. A few pesos per order, which stops being trivial at volume.
- Pick and pack labor, calculated as the packer’s hourly cost divided by orders packed per hour. If one person packs twenty orders an hour, the cost per order is that hour divided by twenty.
- Prorated storage: warehouse rent, power, security, spread across the units you hold and adjusted for the days each SKU sits there.
- The cost of incidents: lost packages, damaged ones, wrong-address returns, reshipments. A small percentage of orders multiplied by a large cost.
- Logistics customer service: the hours your team spends on tracking and claims, which would be fewer if the marketplace dispatched.
With that, you can build an honest number. An illustrative example, with invented figures so the method is visible: a product you sell at $780 pesos with a product cost of $290. Shipping it yourself, you pay $105 for the label, $9 in materials, $14 in packing labor, $6 in prorated storage, and you reserve $8 for incidents: $142 of fulfillment cost per unit. In FBA, say the fulfillment fee plus prorated storage comes to $168. Self-fulfillment wins by $26 per unit.
Now the part almost nobody does: if FBA sells 30% more units thanks to exposure and the badge, that $26 saving per unit has to be weighed against the profit on the units you did not sell. If your contribution margin per unit is $180, each unit not sold costs $180. A handful of lost units is enough to erase the saving on many shipped ones.
where self-fulfillment genuinely wins
This is not a whole-catalog decision. It is a per-SKU decision, and the patterns are fairly clear.
Self-fulfillment tends to win when the product is bulky or heavy, because marketplace fulfillment fees scale steeply with dimensions and weight, and storage is charged by volume. It also wins when rotation is slow: a SKU that takes months to move pays long-term storage in someone else’s warehouse and almost nothing in yours.
It wins when the product is fragile, customizable or needs assembly, because the marketplace neither builds kits nor personalizes. It wins when your ticket is high: at several thousand pesos per order, fulfillment weighs little as a percentage and control matters more than the saving.
And it wins when you already have warehouse and staff for other reasons — because you sell B2B, because you have a physical store, because you already run D2C — and the marginal cost of packing a few more orders is low. That is probably the most common and the most solid case.
It loses, on the other hand, when the product is small, light and fast-moving, which is exactly where FBA and Full were engineered to be efficient. It loses when your ticket is low, because the fixed cost per order eats the margin. And it loses when you compete on a listing where others do carry the fast-shipping badge.
Glossary: real net margin, with everything deducted →the hybrid model is usually the answer
In practice, the sellers who run the tidiest operations do not pick one model: they pick one per SKU and per season.
Small, light, fast-moving products live in FBA and Full, where the rate is competitive and the badge brings sales. Bulky, slow or high-ticket items stay in an owned warehouse or a 3PL. And in peak season part of the catalog goes to the marketplace’s centers even if it lives elsewhere the rest of the year, because in-house capacity does not stretch that far.
That scheme works on one condition: that you know, at any moment, how much inventory sits in each location and what it costs to ship from each one. Without that, the hybrid turns into a mess where one channel oversells while stock piles up in another, and nobody knows the real margin of any SKU.
It is also worth remembering what happens before the last mile. If your goods are imported, the cost of bringing them in was already set by international freight and by the trip through customs. That cost per unit is part of COGS and does not change with who ships the box, but it does change how much margin you have left to absorb the last mile.
how this looks in iqseller
In the panel, the fulfillment decision stops being a hunch because both sides of the equation are loaded.
In Profitability, net margin per SKU deducts Amazon settlement commissions and MercadoLibre order fees, FBA and Full fees, shipping, advertising and the VAT and withholding breakdown, on top of the COGS you loaded. If you also fold the real cost of shipping in-house into that cost per unit, the margin you see is the margin that model actually leaves you, not the one you assume.
In Inventory, you see stock split across FBA, Full and your own warehouse or 3PL, with the valuation of each location. That view is what makes the hybrid model operable: it tells you where each unit sits and how much capital is parked in each place, which is exactly the information missing when the call gets made by feel.
Forecast adds sales velocity and coverage by channel, which determine whether a SKU will end up paying aged-inventory surcharges in a marketplace center or should have stayed home. And Alerts flags when a channel’s coverage drifts out of range, which is the moment you can still move inventory without paying for an emergency removal.
The Parent → Model → SKU tree avoids the classic mistake of deciding by family: often the full model looks expensive in FBA when in fact only two slow sizes are paying for everyone’s storage.
how to decide without guessing
A method you can apply this week, with no sophisticated tooling:
- Take your twenty highest-selling SKUs and your twenty largest inventory positions. They are almost never the same list.
- For each one, calculate the fulfillment cost per unit sold under the current model, using the six components above if you ship yourself, or fee plus prorated storage if the marketplace does.
- Estimate the contribution margin per unit in each scenario, after commission, shipping, advertising and COGS.
- Ask yourself how many units you would lose without the fast-shipping badge. Do not invent the number: measure it, by switching one SKU’s model and watching units and conversion for several weeks.
- Check what happens in November and December, when storage rates rise, inbound limits tighten and your warehouse saturates.
- Decide per SKU and revisit every quarter, because rates change and so does your rotation.
One last warning about figures: Amazon and MercadoLibre adjust their fulfillment rates regularly, by category and by season, and carrier rates in Mexico depend on zone, contracted volume and negotiation. Any table you find online is useful for understanding the structure, never for budgeting. The numbers that belong in your model are the ones in your own Seller Central, your own Meli panel, and a signed quote from your carrier or operator.
Shipping yourself is neither cheaper nor more expensive in the abstract. It is a different cost structure with a commercial consequence the spreadsheet cannot see. The one thing you cannot do is decide it with a margin inflated because nobody ever loaded what it truly costs to put a box on a customer’s doorstep.