Overview
Reselling lets you list another Komerza store’s products in your own store. When one of your customers buys, Komerza draws a unit from the supplier’s stock, charges it to a balance you hold with them, and hands the delivery straight to your customer. You never hold their stock, and you never front the money for units you have not sold.If your own store is on Komerza, none of this page applies to you. Your draws
are served internally and there is nothing to configure - set it all up from
Reselling in your dashboard instead.
Getting approved
Every supplier decides how people join, and you will meet one of three:
An invite-only programme is not discoverable. Asking about one answers exactly as it would for a store with no programme at all, so there is nothing to find by guessing.
Application forms
Suppliers taking applications can ask their own questions - short answers, long ones, dropdowns, checkboxes, numbers, links. You answer them once, when you apply. What you answered is stored with the wording it was asked under, so a supplier who later rewords the form does not change what you appear to have been asked.Deposits
A supplier may ask for money before they will approve you. Two settings do quite different things, and the panel tells you which you are looking at:- A required deposit blocks approval outright. Nothing happens until it is paid.
- An automatic approval amount is optional. Reach it and you are approved on the spot instead of waiting; ignore it and your application still sits in the queue like any other.
Your shop
Suppliers can publish a list of who resells for them. If you sell on Komerza you are named by your own store; if you sell anywhere else, there is nothing to name you by until you say so. Set a shop name, a link and a logo under Reselling in the supplier’s customer dashboard, and that is what appears wherever they list you. Leave it and you appear unnamed.Two ways to get stock
Both start the same way: get approved by the supplier’s reseller programme, and fund a balance with them. Stock is paid for out of that balance either way.Buy up front
Buy a quantity now and download it as a text file. Nothing to build - the
units are yours to sell wherever you like.
Draw per sale
Your storefront calls Komerza at the moment it makes a sale, and gets a unit
back. Needs a store that can call out mid-checkout.
Buying up front
From the supplier’s customer dashboard, under Reselling: pick a product, choose a quantity, and confirm. The cost comes out of your balance and the units come straight back, downloadable as a text file with one unit per line. Nothing about this needs an integration. If your own shop is a Discord bot, a spreadsheet, or a marketplace listing, this is the whole thing.Suppliers can turn this off, in which case every sale has to draw at the time
through a delivery URL. It is on by default.
- Text-delivered products only. A file-delivered product cannot be handed over as a downloadable unit, though it still sells fine drawn per sale.
- The supplier’s delivery has to answer per unit. If it returns one response for the whole order, one unit arrives and the rest is refunded to your balance. Suppliers wanting to sell in bulk should return an
itemsarray - see Dynamic Delivery.
Drawing per sale
The rest of this page covers the other route: your store calls a delivery URL when it makes a sale, and Komerza draws a unit from the supplier at that moment.- You generate a delivery URL and paste it into your own product’s delivery configuration.
- A customer buys from you. Your store calls the delivery URL, Komerza draws a unit from the supplier, and returns it.
Your delivery URL
Generate it from the supplier’s customer dashboard, under Reselling, then take the URL for the product you want from the catalogue on the same page - the Copy ID button beside each product gives you the last part.string
required
Identifies you, and authorises the draw. Shown once when you generate it.
string
required
Which of the supplier’s products to draw. Copy it from the catalogue. A
product with several variants asks you which one - the price and stock differ
per variant, so the id has to name one.
Why there is no signature
Delivery calls are not signed. Your store signs its outbound requests with its own secret, or does not sign at all, and Komerza has no way to verify a signature it did not issue the key for. Requiring one would mean nobody could integrate. The unguessable token takes its place. That is a deliberate trade: it is simpler to integrate and weaker than a signature, which is why the token is 256 bits, is never returned twice, and can be replaced at any time.The request
APOST to that URL. The body is optional - the product is already in the URL, so there is nothing you have to look up or map.
string
Your own reference for this sale - an order number, a line id, a cart
reference. Any string; it does not have to be a Komerza id. This is the
idempotency key, so sending it is strongly recommended - see
Retries. Also accepted as
orderReference, orderId or
reference.integer
default:"1"
How many units were sold. The response contains one entry per unit.
If your storefront can only call one URL for everything, there is an older
route that takes the product from the body instead. It requires a Komerza
variant of your own mapped to the supplier’s, so it only suits resellers who
also sell on Komerza. Ask the supplier if you need it.
The response
200 OK with one entry per unit:
string[]
The delivered units, one entry per unit sold. Hand these to your customer.
string
The order raised on the supplier’s store. Quote it if you need to chase them
about a delivery.
number
What was charged to your balance, in the supplier’s currency.
integer
Units the supplier gave you free as a sample. These cost nothing.
items shape is the same one Komerza’s dynamic delivery accepts, so a Komerza store consuming this needs no translation.
Retries
lineItemId is the idempotency key. Calling again with the same one returns the units already drawn for it rather than drawing more - so a retry after a timeout is safe and cannot double-charge your balance.
Use a stable reference from your own order. A fresh one on each attempt reads as a separate sale and draws again, and omitting it entirely means every call is a new purchase - which is why it is the one field worth sending.
Your references are yours alone. Two resellers both sending 1 are two different draws; nobody ever receives someone else’s stock by picking the same reference.
Failures
error
The draw was refused. The body carries a short reason.
Your balance is too low
Your balance is too low
Top it up from the supplier’s customer dashboard. Draws are charged at the
moment of sale, so a balance that runs out mid-day stops deliveries.
The supplier is out of stock
The supplier is out of stock
Nothing you can fix. Consider buying stock up front if they allow it, which
also protects you from them running out.
Your access was revoked
Your access was revoked
The supplier withdrew it. Stock you already bought outright is still yours.
The product is no longer offered
The product is no longer offered
They removed it from their reseller catalogue, or paused it. The same answer
covers a URL naming a product this supplier does not offer you at all -
which the catalogue is deliberately not going to confirm either way.
Chains
A product can be resold through more than one store, but not indefinitely - a draw is refused once it has passed through two stores. Between Komerza stores that is counted for you: Komerza walks the chain of listings above the product and refuses one that runs deeper than two stores, or that loops back on itself. Off-platform there is no chain to walk - Komerza cannot see who called you - so the count has to arrive with the request:Volume pricing
Suppliers can set price breaks for buying in quantity. They apply to both routes, but they are far easier to reach by buying up front, since a per-sale draw is usually for one unit. The highest threshold your quantity clears wins, and terms set on a specific product beat catalogue-wide ones. A price break worse than the everyday reseller price is ignored rather than charged, so a supplier’s typo can never make buying in bulk cost more than buying one at a time. Volume pricing asks how many of this product. Two other things ask how much altogether, and they are what a spread across a catalogue actually earns.Basket discounts
A supplier can take a percentage off any basket that reaches a size, whatever it is made of. A hundred weekly keys and a hundred yearly ones are the same number and nothing like the same order, so these are measured in value, not units. The size is measured at list price, before anything else comes off - qualifying cannot lower a basket’s value and disqualify it again. Where several thresholds apply, the largest wins.Bundles
A bundle is a basket the supplier composed and priced as one thing: so many of this, so many of that, one figure at the end.- It can never cost more than buying the lines separately. If your own terms already beat the bundle, you pay yours.
- A bundle is bought as composed. Quantities are the supplier’s, not yours - assembling your own basket is what basket discounts are for.
- If a product in it is no longer offered, the whole bundle stops being buyable rather than quietly shrinking. You are told which line is short.