Multi-vendor marketplace script: 8 things to check before you launch
Last updated

Multi-vendor marketplace scripts all promise the same list: vendor shops, commissions, payouts, reviews. The differences show up after launch, when a cart with items from three shops charges shipping once instead of three times, when a coupon pushes a vendor's commission below zero, when a refund comes in after the vendor has already withdrawn the money, or when a paid download link gets shared on a forum. This guide covers the eight things worth testing before you choose a self-hosted marketplace script, and how Vendora, built on Laravel 12 and Filament 4, handles each one.

1. Does one cart really split by shop?
A marketplace order is several shipments sold as one purchase. If the cart treats it as one parcel, shipping, tax and delivery estimates are wrong for every multi-shop order. Ask the vendor to show a cart with items from two shops and look for separate packages.
In Vendora the cart groups lines into one package per shop. Each package has its own shipping method, delivery estimate, tax and total, and the customer pays once. Checkout creates one order with a sub-order per shop (for example VM-10421-1 and VM-10421-2). Each shop ships its own package with a carrier and tracking number, and the parent order moves to partially shipped, shipped and completed as the packages go out. Customers follow every package in their account, or at /track with the order number and email.

2. Is the pricing order defined, and the same everywhere?
Coupons, shipping, tax and commission all interact. Is tax charged before or after the discount? Is commission charged on shipping? If the cart, the checkout and the stored order each calculate totals their own way, they will eventually disagree by a cent, and someone will ask why.
Vendora uses one pricing engine everywhere, in a fixed order: split the lines by shop, apply the coupon, price shipping per package from the destination country's zone, tax each line after its discount (and shipping where a rate says so), then work out the commission on each line. Every amount is an integer in cents. A coupon's discount is spread across the eligible lines so the parts always add up to the whole, and a coupon limited to one shop only touches that shop's items.

3. How is commission decided?
One flat rate rarely survives the first month. You will want a better rate for founding sellers, a higher one for digital goods and a lower one for thin-margin categories. Check whether rules can be set per vendor and per category, what happens with sub-categories, and whether a rate change rewrites past orders.
In Vendora the most specific rule wins: a vendor rule (or the vendor's own rate), then a category rule found by walking up the category tree, so a rule on "Electronics" also covers "Electronics › Cameras", then a global rule, then the default in Settings. Any rule can add a fixed fee per line. Commission is charged on the price after discount, never on tax or shipping, and the rate is stored on every order line, so changing a rule never changes past sales.

4. Can vendors see their money, and withdraw it safely?
Vendors trust a marketplace that shows them exactly where every cent went. The marketplace needs protection too: if a sale can be withdrawn the same day, a refund next week comes out of your pocket.
Vendora gives every shop an earnings ledger. Sales, refunds, payouts and adjustments are signed rows, and each sale shows the gross amount and the commission taken. A sale becomes withdrawable after a hold period (7 days by default). A payout request must be above a minimum, only one can be open at a time, and the amount is reserved the moment it's requested, so the same balance can't be withdrawn twice. Admins mark a payout paid with a bank or PayPal reference, reject it (the money returns to the balance), or pay vendors who use Stripe Connect with a Stripe transfer. Bank and PayPal payouts are recorded rather than sent, and the Stripe Connect transfer has not yet been run against a live account, so try it in test mode first.

5. What happens to the money on a refund?
Many scripts treat a refund as a status change. A real refund has to return the customer's money, take the earning back from the vendor, give back the commission and maybe restock the item, sometimes for just one unit of one line.
In Vendora customers request a return or refund per item, with a quantity and a reason, inside the return window (30 days by default). When the shop or the admin approves it, the customer is refunded through the original gateway (partial refunds work), the shop's earning is reversed, the marketplace commission is given back, the stock is optionally restored, and shipping is refunded when the whole package comes back. The vendor sees it all as one negative row in the ledger, and the order becomes partially refunded or refunded.

6. How do new sellers join, and who checks them?
Open registration fills a marketplace with junk; manual onboarding doesn't scale. Look for an application step, a clear approval queue and a way to act quickly when a shop misbehaves.
Sellers apply at /sell with a shop name, country, business type and a note, then see a status page until an admin decides. Approval puts the shop live and emails the owner; a rejection carries a reason the applicant can read. Suspending a live shop hides all its products immediately. You can also hold new vendor products for approval and hold reviews for moderation, and only buyers of a delivered item can review it.

7. Does the catalogue handle variants and digital products?
Fashion needs colour and size variants with their own stock. Templates, fonts and presets need digital delivery without shipping, and a download link that only works for the person who paid.
Vendora has nested categories, a shared attribute library with colour swatches, and variants with their own price, stock and SKU; picking a colour on the product page swaps the images, price and stock. Digital products are stored privately. Each purchased line gets its own tokenised download link with a download limit, and the link stops working when the item is refunded. A digital-only package is delivered as soon as payment clears.

8. Can you install it without being a Laravel developer?
A script you can't install is a project you have to hire for. Check whether it ships with vendor/ and built assets, whether there's a web installer, and what the server really needs.
Vendora's download includes vendor/ and the compiled assets, so you need PHP 8.2+ and MySQL, MariaDB or SQLite, but not Composer or Node.js. Visit /install and a five-step wizard checks the requirements, tests the database, loads demo or empty data, creates your admin and locks itself; php artisan dev3:install does the same over SSH. Earnings clear by date rather than by a background job, so one cron entry is the only extra setup.

See it in action
The video tour starts on the 3D storefront, fills a cart from two shops, checks out, then switches to the seller centre to ship the package and show the earnings and payouts. It ends with the customer's tracking and the admin's orders globe, payouts and reports.
What else to compare
- Reports: gross sales, commission, orders, average order value and refund rate against the previous period, top vendors, products and countries, with CSV export, plus a version scoped to each shop.
- Languages: English and Arabic with a full right-to-left layout on the storefront and every panel.
- Security and admin: two-factor sign-in (an authenticator app with recovery codes, or email codes) that you can require for staff, roles with a permission editor, an audit log with before and after values, backups that include private files, and system health.
- API: a read-only REST API on Sanctum for products, shops, a customer's own orders and a vendor's own packages, with rate limits and an OpenAPI spec.
- What's not included: product Q&A, messaging between vendors and customers and multi-currency display are not in version 1.0.2. The PayPal and Razorpay drivers and the Stripe Connect transfer have not been run against live accounts.
- Quality: Vendora 1.0.2 shipped with 89 Pest tests covering the money paths and the API's authorisation, Larastan level 6 with no errors and 122 pages checked in a headless browser with no console errors.
Vendora costs $29 on DEV3. Instead of a live demo, the listing has 118 grouped screenshots and two video tours, and the "How it's built" section explains the architecture in more detail.
Shop by category — Colourful category tiles with generated studio art lead into a nested category tree with any number of levels.


