On this page
Wholesale bakery · B2B ordering app · Buenos Aires · 2026
Orders that file themselves
I built Teia Bakery a wholesale ordering app. Each shop signs in with its tax ID, sees its own price list, and places the order; on confirmation, the PDF delivery note is generated and filed on its own.
The retail store of Teia Bakery runs on Tiendanube; I built their B2B wholesale channel.
“When I started Teia I thought it was just putting up an online store and that was that. I had no idea about the paperwork and the processes it would take, let alone that I would have to repeat them over and over.”
Forty shops ordering over WhatsApp
Teia sells wholesale to forty shops around Buenos Aires. Orders arrived over WhatsApp, in no particular order, got written down by hand, and ended in a delivery note that had to be typed one by one.
Every shop pays its own price: the outlets of one chain run on a different list from the rest. Holding that in your head, quoting prices all day, and not slipping on a delivery note was the invisible work that ate the hours.
The wholesale ordering app I built
I built an app that installs straight from the phone, with no App Store or developer account. There are two of them on the same site: the store for the shops and the panel for Teia.
A shop signs in with its tax ID and sees only its own catalog, at its own prices. It fills the cart live and confirms. On Teia's side a phone alert and an email come in, and the PDF delivery note is generated and saved, ready to share. No one types a delivery note again.
From the panel, Teia adds shops, uploads products with a photo, sets the two price lists, confirms or edits orders, and sees the history of each account.
Our catalog
- M 3-chocolate mousse x6 $27,000 Add
- C Berry cheesecake x6 $22,800 Add
Panadería del Sol · 30-71234567-4
- 3-chocolate mousse x6$27,000
- Berry cheesecake x6$22,800
Everything the Teia app does
- Private catalog: without an enabled account you see nothing, not even prices.
- Sign-in by tax ID (CUIT), validated with Argentina's real check digit.
- Two price lists; each shop sees only its own.
- Live cart with the free-shipping minimum in view.
- Automatic PDF delivery note on confirmation, filed and ready to share on WhatsApp.
- New-order alert to the phone and by email, instantly.
- Panel for orders, clients, products, categories, shipping, and the info shown to shops.
- Loyalty discount applied by the server, never the browser.
- Stock control: deducted on confirm, restored if an order is deleted.
- Automatic mirror to Google Drive and a sheet with totals by month, client, and product.
- TEIA-0041 · pending · Panadería del Sol · $49,800
- 1× Mousse 3 chocolates (x6) $27,000 · 1× Cheesecake frutos rojos (x6) $22,800
- Under $140,000: shipping $8,000 · prior balance $12,500 · total $70,300
- TEIA-0040 · confirmed · Chungo · Centro branch · −10% loyalty · ✓ Delivery note
Confirming deducts stock and generates the delivery-note PDF in one shot. The order is claimed atomically as it moves from pending to confirmed, so a double click never deducts stock twice.
- Panadería del Sol · CUIT 20-30111222-3 · General wholesale · Enabled · 8 orders
- Chungo · Centro branch · CUIT 27-34222333-6 · Chungo (VIP) · 12 orders
- Almacén Belén · CUIT 30-71098765-4 · Disabled · no password
- History: TEIA-0041 · confirmed · −10% · $49,800 · 📄 delivery note
The second-factor switch has an anti-lockout guard: before turning it on it names, one by one, the enabled accounts with no password that would be locked out.
- Mousse 3 chocolates · General · Desserts · x6 · $27,000 · Stock 24
- Cheesecake frutos rojos · General · Cakes · x6 · $22,800 · Stock 0 · out of stock
- Pavlova individual · General · Desserts · x12 · $30,000 · Stock 4 · low stock
- Mousse 3 chocolates · Chungo (VIP) · Desserts · x12 · $52,800
It flags in red when a product is repeated in the same list, and deleting never loses history: it unlinks past orders first, then removes it.
- Name: Tarta de verdura · Category Savory · Pack x6 · Price $19,200 · Stock 12
- 👁 Live preview: this is the card the shop sees as you type
- Photo: square crop, zoom with the slider, wheel or pinch
The cropper is hand-written on canvas because the CSP blocks CDN libraries, and the photo is compressed in the browser before it uploads.
They fill the Products dropdown and are the sections the client sees. Deleting one never touches the products already assigned to it.
- Payment methods? Cash or bank transfer. Prices already include tax.
- Free shipping: orders from $140,000 in CABA and Zona Norte.
- How long do they last? Frozen 6 months at -18°C. Fresh 3 days refrigerated.
It is the only source the catalog and the order-confirm screen read: edit one line and every client sees it right away.
- General wholesale: free shipping from $140,000
- Chungo (VIP): free shipping from $250,000
- Edit: bump general from $140,000 to $160,000 and hit Save
It is the cart's informational threshold, it never blocks an order, and you change it yourself with no redeploy and no touching Vercel.
Forty shops, ordering in ten seconds
The forty shops that buy from Teia now place their orders in the app. It used to mean sending a message and waiting; now an order takes about ten seconds, because each shop sees its own price on screen and nobody has to hold anything in their head.
I handed it over complete: code, database, and panel, with a usage guide and runbooks for rotating keys and handling an incident. Before handoff I ran my own OWASP-aligned security review.
Teia runs the day to day: changes a price or confirms an order without calling me.
“For a small-business owner like me, having 70% of the tasks automated and trusting they are done right is what lets me sleep at night, make the most of my time and build the brand.”
Tell me what's eating your day
If any of this sounds like yours, tell me how you're handling it today and I'll tell you what can come off your plate.
Got it.
I'll reply to the address you left, usually the same day. A copy of what you wrote is on its way there too.
I'll reply to the address you left, usually the same day.