# Marketplace, B2B, D2C and Multi-store on GoCommerce

> Four shapes of store on GoCommerce: multi-vendor marketplace, B2B pricing, direct-to-consumer and multi-store channels, each with the primitive doing the work.

- Canonical: https://kitcommerce.store/solutions/
- Last updated: 2026-09-25

---

## Four shapes of store. One engine.

A marketplace, a wholesale catalogue, a plain shop and a group of storefronts are not four products here. They are records you create in one GoCommerce database — vendors, price lists, channels — and a store that never creates them pays nothing for their existence.

- **1** binary, all four
- **0** modules required for the default store
- **342** documented operations behind each

### Pick the shape you are building

#### [Multi-vendor marketplace](https://kitcommerce.store/solutions/marketplace/)

- Vendor accounts
- Vendor offers
- Moderation states
- Commission recorded per vendor

core/vendors.go

[Explore marketplace](https://kitcommerce.store/solutions/marketplace/)

#### [B2B commerce](https://kitcommerce.store/solutions/b2b/)

- Customer groups
- Price lists
- Quantity breaks
- Scoped API keys

core/pricing.go, core/api_keys.go

[Explore B2B](https://kitcommerce.store/solutions/b2b/)

#### [Direct-to-consumer](https://kitcommerce.store/solutions/d2c/)

- The default store
- Cash on delivery built in
- Manual fulfillment built in
- Svelte Commerce in front

core/checkout.go, core/orders.go

[Explore D2C](https://kitcommerce.store/solutions/d2c/)

#### [Multi-store](https://kitcommerce.store/solutions/multi-store/)

- Channels
- Per-channel publishing
- Per-channel price lists
- One default channel

core/channels.go

[Explore multi-store](https://kitcommerce.store/solutions/multi-store/)

### What each one adds

Every row is a capability in the engine today, checkable in the file named. What is *not* there is named too.

*The four solutions compared*

| Aspect | Marketplace | B2B | Direct-to-consumer | Multi-store |
| --- | --- | --- | --- | --- |
| Records you create | Vendors, offers | Customer groups, price lists | Products, nothing else | Channels |
| Who sets the price | Each vendor, per offer | A price list, per group and quantity | You, per variant | A price list, per channel |
| Who holds the stock | Each offer | Your locations | Your locations | Your locations, published per channel |
| Moderation | pending → approved → suspended | — | — | — |
| Machine buyers | — | Scoped API keys | — | — |
| Known edge | Commission recorded, not settled | No quotes or approvals workflow | Storefront is a separate project | Channels scope publishing and price, not orders |
| Source | `core/vendors.go` | `core/pricing.go` | `core/checkout.go` | `core/channels.go` |

### The storefront half

#### Svelte Commerce

A server-rendered SvelteKit storefront that runs against [26 commerce backends](https://kitcommerce.store/svelte-commerce/backends/) — arialshop.com is it in production, on one of them. Its GoCommerce connector is [early, at 0.1.0](https://kitcommerce.store/gocommerce-svelte-commerce-connector/): catalogue, cart, checkout and order lookup, not customer accounts or a search index.

[Explore Svelte Commerce](https://kitcommerce.store/svelte-commerce/)

#### Anything that speaks HTTP

GoCommerce holds no templates. Any client can drive its 342 operations — a Next.js site, a native app, a coding agent over MCP. The admin uses the same contract.

[Headless, on the home page](https://kitcommerce.store/#headless)

#### Or none, to start

The one-command stack gives you the API and the admin on port 80. Load a catalogue, place a test order from the API docs, and choose a storefront after the backend has earned it.

[Start on your own server](https://kitcommerce.store/#one-command)

FAQ

### Questions about solutions

**Are these four separate products or editions?**

No. They are four ways of configuring one engine. A marketplace, a B2B catalogue and a plain direct-to-consumer store run the same GoCommerce binary against the same PostgreSQL; what differs is which records you create — vendors, customer groups and price lists, or channels — and none of them costs anything to leave unused.

**Can one store be more than one of these?**

Yes. A B2B price list can be limited to one channel, a vendor can list offers on a store that also sells its own goods, and a direct-to-consumer store can add a second channel later. The primitives compose because they are rows in one database, not plugins with their own state.

**Is the depth here the same as a dedicated platform’s?**

Not yet, and each page says where the edge is. Marketplace commission is recorded per vendor but not settled; the storefront half of every solution depends on a client you choose. Read the page for the shape you need before committing.

**Which page should I read first?**

The one matching the store you are building. If you do not know yet, direct-to-consumer is the default and the other three add to it rather than replace it.

### Start with the default, add the rest when a real order asks

Every solution above is a configuration of the same engine you can run in one command.

[Deploy in minutes](https://kitcommerce.store/#one-command) · [Explore GoCommerce](https://kitcommerce.store/gocommerce/) · [44 modules](https://kitcommerce.store/integrations/)
