What the catalog holds and who can see it
Every item needs a unique title, at least one image and a country of origin. Price, description, product code and a website link are optional, and the price field is only available in some countries, so a catalog with no prices on it is a supported setup rather than a mistake.
The catalog lives on your business profile. Anyone who has your number can open it, including contacts you have blocked, and a customer can forward the whole catalog or a single item on to someone else. A trade price list published in the catalog is a public price list.
Items can be hidden and unhidden. Hiding is all or nothing - a hidden item is hidden from every customer, not from selected ones.
How a cart reaches you
A customer taps the shopping button in the chat, adds items, and taps Send to Business. The cart arrives as one message in that thread. Meta's own framing for the feature is keeping track of order inquiries - the seller then confirms availability and what happens next.
There is one cart per chat thread, and it is tied to the device the customer built it on. A sent cart cannot be edited. A customer who wants a different quantity sends a new cart, so the thread now holds two carts and you are the one deciding which counts.
Messages you send out have their own ceilings. A multi-product message carries up to 30 products, and a product carousel up to 10 cards, so a catalog larger than that is browsed rather than pushed.
One WhatsApp Business Account holds one catalog
Meta's documentation is explicit - you can upload only one catalog per WhatsApp Business Account, though the same catalog can serve several phone numbers. Price is an attribute of the item, not of the person looking at it, so every customer sees the same figure.
That leaves no native route to trade pricing. Collections group products into sections but are not access-controlled, so a collection named for one buyer is open to the next one. The only native way to run a second price list is a second WhatsApp Business Account on a second number, and a third tier is a third number, each with its own catalog to keep in step. Charging different prices to different wholesale customers covers the ways a small supplier holds two or more trade prices without duplicating the product list.
A chat thread has no closing time
WhatsApp Business has away messages, which auto-reply to anything that arrives and can be scheduled for outside the business hours set on your profile. An away message is a reply sent after the message landed. The cart is already in the thread, the customer has read a polite note, and the order is still yours to accept or refuse by hand.
Nothing in the catalog, the cart or the business-hours setting knows what day the goods are picked or when ordering for that run closes. Stopping wholesale customers ordering after the cutoff covers the deadline as a rule the ordering screen enforces rather than a line in an away message.
A sent cart is a message in a thread, not a record you can search
On the WhatsApp Business app, a cart is a message. Finding what a customer ordered three weeks ago is chat search. Totalling a week across twelve customers is reading twelve threads. Nothing links a cart to the delivery it became, and because a correction arrives as a second cart, the thread carries the history without saying which version was the one you picked.
The WhatsApp Business Platform, the API version, is better than that. A sent cart arrives there as a message of type order, carrying the catalog ID and an array of items with a retailer ID, a quantity, a unit price and a currency. That is structured data. It is also data arriving at a webhook, so it needs something you have built or bought to receive it, store it and show it back to you - and only the retailer ID comes back, so the product name and image are resolved against the catalog at your end. Stop copying WhatsApp orders into a spreadsheet at 4am covers what that re-typing costs when the receiving end is a person rather than a webhook.
Nothing in the catalog raises an invoice
There is no billing side to the catalog at all. The itemised order_details and order_status messages that look like an invoice are part of WhatsApp's payments product, which is live in India, Singapore and Brazil, and not in the United States, the United Kingdom or the EU. A US wholesaler has no access to them. Even where they exist they are a request for payment inside a chat, not a numbered document with a due date, a tax breakdown and both parties' business details on it.
So the invoice is built somewhere else from what you read out of the threads, which is the same manual step the catalog was meant to remove.
The catalog is the right tool for a short list at one price
It is free, it needs no onboarding, and it sits inside an app the buyer already has open. Five customers on one price, a dozen lines, no deadline worth enforcing and an invoice written by hand anyway - the catalog does that well, and a cart beats a typed-out message for accuracy because the buyer picked from the list rather than remembering it.
It starts costing when the price list stops being one price list. How to stop taking bakery orders on WhatsApp and how to stop taking egg orders on WhatsApp both cover the point at which the chat habit turns into a morning of transcription.
What a customer portal does that the catalog cannot
Invoices are still raised when you choose to raise them - you pick the orders that go on one, rather than the system billing on a schedule. Pricing is a flat monthly fee whatever the order volume, with no per-order charge, no commission and no per-user seat, and it is free up to 3 customers with no card. The wholesale customer portal covers what the buyer sees when they sign in.
Wholesale Handler



