Inventory · Consignment · Profit

Know what you bought, what it cost, and what you're actually making

PepStock runs the business side of reselling peptides — landed cost per order, every batch traced to its cap and certificate, who's holding what, and the margin underneath it all. Built for group orders, consignment and suppliers you have to compare.

Download on the App Store Get it on Google Play
7-day free trial. Resellers you invite use the app free.
PepStock dashboard showing sales logged, gross and net profit, margin, inventory at cost and units sold

See it work

Twenty seconds,
the whole business

Every cost grouped by when it reaches your profit. What you spent running the business, what your sales cost you, what you put into stock — and what each of those is made of. The same screens you get on day one, with a demo business already in them.

See all features →

Why it exists

A spreadsheet can hold the numbers. It can't tell you they're wrong.

Shipping split across a dozen compounds, five purchases of one compound at five prices, stock sitting with three resellers, a batch the lab failed and the vendor half made good. Those are the numbers that decide whether the month worked, and they are exactly the ones a sheet quietly gets wrong.

Five calculators

Reconstitution, blend dose, GLP-1 titration, vial cost and a unit converter — for you and for your resellers.

Receipts on both sides

Every sale can produce a receipt, and a reseller's carries their own name and logo — not yours.

Lab report with the receipt

Pick which certificates ride on the back of a buyer's receipt, see them before they go, and it leaves as one PDF.

A compound as a whole

Sort by compound and each one is a single card — every strength inside it, and the deliveries behind each strength.

Scan a price list

Point the camera at a vendor's sheet and it reads straight in, several pages at a time, straightened first.

Buy and sell by the kit

Set the units in a kit and quantity entry gets +1 and +½ kit. Every price shows what a whole kit costs.

Export your client book

Every client with contacts, last order, balance and the compounds they actually buy — and it reads back in.

Reorder planner

Order-by dates from your own sales velocity and each vendor's real lead time, not a fixed threshold.

COAs and QR labels

Certificates attached to the batch they certify, and printable vial labels with a scanner.

Excel import

Bring a whole workbook in one step. You see what each sheet will do before anything saves.

Reports and tax export

P&L, expenses, PDF and CSV, and an export shaped for whoever does your taxes.

A price list, not a spreadsheet

Grouped by compound and ordered the way strengths actually run, so 5 mg never sorts above 10 mg.

One-file backup

Everything in a single file — inventory, photos, COAs, orders, batches, team, sales, clients, settings.

See all 81 features →

What it really cost

Buy in a group order,
still know what one vial cost.

The number that decides your margin is not what the vendor charged for the vial. It is that, plus the vial's share of everything else on the order — and it is the number a spreadsheet quietly gets wrong.

An order is one purchase from one supplier

The shipment, its shipping, its fees, its tracking, and the number you write across every label in it. PepStock spreads that overhead across every unit, so each one carries its true landed cost rather than the sticker price.

Inside that order sit the batches

A batch is one factory run of one compound: one strength, one vendor, one cap. A Retatrutide and a Semaglutide in the same delivery are two batches under one order number — which is what the labs and your customers mean by the word, and what a certificate actually certifies.

Every purchase keeps its own cost

Buy the same compound five times from four suppliers and you keep five cost records, not one. Your margin reflects what you actually paid, not the first price you ever typed in — and restocking cheaper shows up honestly instead of overwriting your history.

Every row says what it cost you and what it earns

Your whole inventory grouped the way you think about it — blends, nootropics, GLP-1, with the bacteriostatic water and supplies alongside them — and every line carries the numbers you would otherwise work out on paper: what one unit actually cost you and the margin that follows from it.

Beside it, where the stock physically is: how many are at the house, how many are out with reps, how many have sold. Your three prices — retail, friends and family, wholesale — sit on the same row, so quoting someone is reading, not calculating.

Anything running low flags itself before you notice, and the margin bar turns as the number does — a line that has stopped paying for itself looks different from one that still is.

Inventory grouped by category — blends, nootropics, GLP-1 — each row showing three price tiers and margin

Suppliers

Buy from whoever is actually cheapest

The vendor quoting the lowest single-kit price is often not the one to order ten kits from. PepStock ranks every supplier per mg so different kit sizes and strengths compare fairly, and shows the ranking twice — at one kit, and at each vendor's best volume price.

  • Quotes and what you really paid, side by side
  • Lead times from your own order history, and how much they vary
  • Contacts, payment terms and minimums for each company, and the people you actually deal with
Vendor price comparison per mg at single-kit and volume pricing

Money

Profit and cash are not the same thing

Buying stock is not a loss, and a reseller's deposit is not revenue. PepStock reports them separately: profit on one side, a cash position on the other, each explaining in plain English where the number came from.

A failed batch is not automatically a loss either. Whatever the vendor gave back — a refund, a store credit or replacement product — comes off what it cost you, and only actual cash moves your cash position.

Cash Position breaking out sales collected, advances held, inventory purchased, operating expenses and vendor refunds

Consignment

Your resellers get their own app

Invite a reseller and they get their own private view: the stock they hold, what they owe, their clients and their own selling prices. Never your costs, your margins, your suppliers or another reseller's numbers.

They log sales on their phone and you approve. They can request stock, ask you to order something you do not carry, send stock back and put money down — and nothing counts until you confirm it.

  • iPhone or Android, either side
  • Their documents carry their name, not yours and not the app's
  • They can back up their own phone — their client book, their prices, the postage and fees they typed — and restore it on a new one. None of that ever reached you, so only they could have handed it back
A reseller's own view of PepStock showing the stock they hold, their price to the house, the batch of each, and how many certificates of analysis are available

Consignment

They can pay you, or pay you in advance

Two separate buttons, because they are two different things. Make a Payment settles what they already owe you for stock they have sold. Make a Deposit puts money down before the stock moves — an advance you are holding, not revenue you have earned.

Either way you confirm it before it counts, and the record keeps which one it was. If the amount was wrong, or you hand a deposit back, you refund part or all of it with a reason — their credit falls by exactly that much and the deposit stays on the list saying what went back.

A reseller's balance with separate Make a Payment and Make a Deposit buttons, above their confirmed history

Consignment

Know exactly who owes you

Your side of the same arrangement: what each reseller is holding at their rate, what they have sold and not yet paid for, and what they have already put down.

A deposit is an advance, not revenue — so a reseller can be in credit with you, and the figure says so rather than showing a negative debt.

Each reseller's holdings, what they have sold and what they owe

Safety

Nothing disappears quietly

Deleting a product used to take its purchases, your reseller's stock and the link to its sales with it, without saying so. Now the confirmation tells you exactly what goes — "Dana is holding 6 vials", "5 sales worth $128 lose their product", whether your profit changes.

An order typed in and never completed is deleted from its own edit screen the same way: it says what comes off your revenue and how many units go back on the shelf before you confirm. Deleting a purchase takes its certificates with it and brings them back too.

Everything you delete then sits in Recently Deleted for 30 days and comes back in one tap, with its purchases, hand-overs, sales and lab documents. No backup file needed.

One thing PepStock will not delete at all: a purchase you have already written stock off against. Those vials are a deduction in your tax export, and it says so rather than quietly losing them.

A delete confirmation naming the stock, purchases, reseller holdings and sales that would be affected

Selling

Price lists, receipts and reports that carry your name

Send a buyer a price list as plain text straight into any chat app, or as a PDF. One tier, no costs, no margins, no stock counts — and every row says what it actually is: strength, gauge, bottle size, cap colour.

Receipts, statements and reports carry your business name and contact details. A reseller's carry theirs. Every line names the strength as well as the compound — Retatrutide 10 mg, not Retatrutide — so a buyer who takes two sizes can tell from the paper which is which.

A client can hold a shipping address, printed on their receipt as you typed it. It travels in your backups and exports, comes in with a contact card, and is read when the receipt is made — so reprinting an old receipt after someone moves does not address the next parcel to the old house.

Price list with strength and spec under each product name

Honest numbers

A cost you never entered is not a cost of nothing.

The dangerous number is not the one that is missing. It is the one that quietly reads as zero and flatters your margin — a product whose invoice has not arrived yet, a courier fee you passed straight on, stock you have not costed. PepStock holds all three out of the profit claim rather than counting them as free.

A product you haven't priced yet

Add it before you know what you paid — the invoice often arrives later. Selling one used to report pure profit. Now that sale sits outside your margin and your gross profit until the cost is known, however it reached your books: typed in, imported, or approved from a reseller. The money still counts as revenue; only the profit claim waits.

It rejoins the moment you know

Record what you paid on the product or its batch, open the order and save it. The sale picks up the cost and returns to your margin, gross profit and net profit together. Until then the report shows the amount awaiting a cost, with a Priced sales line beneath it, and your exported spreadsheet carries both.

A charge that costs you something

Charge $12 for rush delivery, pay the courier $9, and you made $3 — not $12 and not nothing. Charges carry what they cost you, and the report shows what you charged, what it cost, and the margin between. Money collected but not yet settled sits on its own line as held for others, in neither income nor costs.

Uncosted stock is not free stock

The “if I sold it all” figures leave out anything whose cost you have not recorded, rather than valuing it at zero and showing you a potential profit no one could ever earn.

Anywhere

Your currency, everywhere — not just dollars.

Set your currency once in Settings, and every price, cost, report, receipt, price list, chart, export and home-screen widget follows. Your resellers' phones follow it too, because they settle up with you in your money, not theirs.

It changes how amounts are written

Not what they are worth — 40 stays the number 40. There is deliberately no exchange rate anywhere in PepStock: a rate that moved overnight would quietly rewrite what last month's orders cost you.

Your business's currency, not your phone's

Travelling, or a handset set to another region, never changes your books — and a receipt that said €40 one day and $40 the next would be worse than useless.

Every surface, not most of them

Reports, exports, the widget, a reseller's own app and the documents they hand a customer. A single screen still showing dollars is a bug, not a limitation.

Traceability

Which batch is in your hand, and which certificate covers it

Two vendors ship the same compound under the same green cap and it is not the same stock. The certificate that covers one does not cover the other, and a buyer asking which they were handed deserves a real answer.

The cap is four fields, not a colour

Colour, type, and the rest of the signature — because a coloured dot cannot tell two vendors' green caps apart, and pooling them makes one batch out of two.

A certificate belongs to a batch

Not to a product and not to an order. The lab report a buyer gets is the one for the vial they were actually handed.

Soonest expiry goes out first

Log a sale of something you hold in more than one batch and PepStock asks which — offering the batch that expires soonest, not the one you bought first. A later order can expire sooner, and that is how dated stock gets stranded.

Your reseller sees the order number

Printed on the unit in their hand, so they can match it to the right certificate. Never your supplier, and never what you paid.

Guides

The parts people get wrong

Written to answer the question whether or not you ever install anything — the landed-cost formula, the four numbers per reseller, and why the cheapest quote is often not the cheapest supplier.

The inventory app for people who buy by the group order

Track every vial, its landed cost and what is left, across suppliers and resellers, in your own currency. Reorder dates from your own sales.

Read →

Stock you don't have, in the hands of people who owe you

Track stock handed to resellers: what each holds, has sold, owes and has paid. They get their own app, in your currency, and never see your costs.

Read →

When the spreadsheet stops being enough

A sheet holds the numbers but cannot say they are wrong. What breaks first tracking batches, consignment and vendor pricing in Excel, and how to move across.

Read →

The cheapest quote is often not the cheapest supplier

Vendors quote by the kit at different strengths and breaks. Normalise to price per mg, at one kit and at ten, and rank suppliers on what you would really pay.

Read →

How to work out what a unit really cost you

Landed cost is the unit price plus every other cost of getting it to you, spread across the order. The formula, a worked example, and where people get it wrong.

Read →

Stock you don't hold, that is still yours

Consignment stock stays yours until it sells. What that means for your stock count, your revenue, and the four numbers to track per consignee.

Read →

Three prices for the same product, without undercutting yourself

How to set three price tiers that do not undercut each other, what margin each should carry, and why wholesale is the price that decides what a reseller owes.

Read →

Profitable and broke at the same time

Profit and cash are different measurements that move at different times. Which purchases are not losses, which receipts are not revenue, and how to read both.

Read →

When to reorder, without guessing

When to reorder, worked from your own sales velocity and each supplier's real lead time — and why one threshold cannot be right for two different suppliers.

Read →

Why the same product needs more than one record

What a lot number gives you that a product name cannot: cost history per purchase, expiry per batch, and the ability to answer which customers got which units.

Read →

Pricing

One subscription, the whole owner side

Everyone you invite as a reseller uses PepStock free.

Monthly
$4.99
per month

7-day free trial. Cancel any time.

Yearly · best value
$45.99
per year

$3.83 a month, billed yearly — save 23%. Same 7-day trial.

The other half

Your customers are tracking what you sell them

PepStock is the business side. BioHack Track is the other one — the app for actually taking this stuff: protocols on a schedule, estimated active levels between doses, vial inventory of your own, lab results over time, and a report you can hand a clinician.

It's free and there's no account — a personal tracking tool someone can use to record a protocol they are already on and build up their own history for a clinician. Same people build both.

  • Free, no account — nothing to sign up for
  • iPhone, iPad and Android
BioHack Track — protocols, active levels, labs and a doctor-ready report

Private by design

Your books stay yours

Your records live in your own private iCloud and sync across your devices automatically. There is no PepStock account to create and no PepStock server holding your business — we cannot read it, because it never reaches us. What you share with a reseller is the one thing that leaves your devices, and only so it can reach their phone.

Read the privacy policy

Free tools

Five calculators, free, no sign-up

The same five that ship inside the app — reconstitution, blend dosing, GLP-1 titration on real dates, cost per dose and a unit converter. Use them here without downloading anything.

Questions

Before you download

Can I use PepStock outside the US, in my own currency?

Yes. Set your currency in Settings and every price, cost, report, receipt, price list, chart and export uses it, on your resellers' phones as well. There is no exchange rate in PepStock and nothing is converted — it changes how amounts are written, not what they are worth. The currency belongs to your business, not your handset, so travelling never changes your books. The app is in English only.

Do my resellers pay?

No. PepStock Pro covers the owner side. Anyone you invite as a reseller uses the app free, for as long as they are on your team.

Can my resellers see what I paid?

No. A reseller sees the stock they are holding, what they owe you, their own clients and their own selling prices. Your costs, your margins, your suppliers and every other reseller's numbers are not on their device at all — they are not hidden in the interface, they are never sent.

Where is my data stored?

Your business records live in your own private iCloud and sync across your devices automatically. There is no PepStock account and no PepStock server holding your books. Team sync is the one exception: what you share with a reseller passes through Google Firebase so it can reach their phone, including an Android one.

Does it work on Android?

Yes. Owners and resellers can be on either platform and see the same numbers. Note that iCloud sync between your own devices is an Apple feature — on Android, back up with the one-file export.

What happens if I delete something by mistake?

Deleting tells you first what goes with it — the stock, the purchases, what a reseller is holding, which sales lose their product and whether your profit changes. Anything deleted then sits in Recently Deleted for 30 days and comes back in one tap, with everything that was attached to it. No backup file needed.

Can I move in from a spreadsheet?

Import a whole Excel workbook in one step. Inventory creates the products, pricing fills their tiers, purchase lots become orders with vendors and landed cost, reseller quantities become allocations, and sales and expenses arrive as history. You see exactly what each sheet will do before anything saves, and importing the same file twice is refused.

Is there a free trial?

Yes — 7 days. After that PepStock Pro is $4.99 a month or $45.99 a year.

All questions The full Help Guide

Start with your next order

Import the spreadsheet you already keep, or add one order and see what it really cost you.