# PepStock: Peptide Inventory — Sales & Reseller Profit

> Sales & Reseller Profit (iPhone/iPad app by Matthew Hayslett.)

- Source: https://appshunter.io/ios/app/pepstock-peptide-inventory/id6786565159 (this page in markdown: same URL + `.md`)
- Developer: [Matthew Hayslett](https://appshunter.io/developer/1881835593)
- Category: Business, Productivity
- Price: Free with in-app purchases
- Age rating: 4+
- Requires: iOS 17.0 · 35 MB
- Languages: American English
- Released: 2026-07-07
- Data updated: 2026-10-15

## What is PepStock?

PepStock runs the business side of selling peptides — what you bought, what it truly cost, what's on the shelf, who's holding it, and what you're actually making.

BUILT FOR HOW GROUP ORDERS REALLY WORK
Place one order across a dozen compounds and PepStock keeps it together: shipping and fees spread across every vial, so each carries its true landed cost. Buy the same compound five times from four suppliers and every purchase keeps its own cost.

KNOW YOUR NUMBERS, NOT JUST YOUR SALES
Sales logged, gross profit, net profit, margin and stock value, each explained in plain English. Where Your Money Went puts every cost on one card, grouped by when it reaches your profit, and every figure opens the records behind it. Cash Position tracks money in and out, because buying stock isn't a loss and a deposit isn't revenue. Potential profit at every tier shows what your shelf is worth.

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 — several products in one sale, each from the batch they hold — and you approve the order as one. Inventory and balances update on both sides. Their own selling price stays on the sale; you still collect only your rate.

They see what the house has in stock and what it costs them, then request stock across many compounds in one go, ask you to order something you don't carry, send stock back, and put money down. Nothing counts until you confirm it — deposits and sales are settled by you, not by them.

SUPPLIERS YOU CAN COMPARE
Keep contacts, payment terms and minimums for every vendor, alongside what they quoted, what you actually paid per vial, and how long they take to deliver. Compare any compound across every supplier before you order.

BRING YOUR SPREADSHEET
Import an entire Excel workbook in one step. Sheets link themselves: 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 duplicates are detected so a tracker sheet can't double-count.

EVERYTHING ELSE YOU NEED
- Multi-product sales with quick discounts, custom pricing and branded receipts
- Edit or duplicate any past order — stock corrects itself automatically
- Rep Sales Summary: every reseller side by side — held, sold, owed, margin
- COA documents attached to the compounds they belong to
- QR vial labels and a scanner; reorder planner using your sales velocity and vendor lead times
- Failed-testing write-offs, netted against vendor refunds or credits
- Any removal, write-off or hand-over can be re-categorised or undone
- Kit pricing with its own discount, quoted on price lists you can text
- Track anything you sell — vials, pens, syringes, boxes, sachets, patches
- Postage, admin fees or any charge, each carrying what it cost you
- Carrier and tracking on the receipt, added later
- Stock files itself by category
- Sell across two batches when one won't cover it, each with its own cost
- Compound library and reconstitution calculator, for you and your team
- Expenses, P&L, tax-ready CSV and PDF exports, widget, one-file backup
- Resellers back up their own phone, in the same file — nothing to convert when they change device
- Delete an order from its own screen, recoverable for 30 days

PRIVATE BY DESIGN
Everything lives in your own private iCloud and syncs across your devices. No accounts, no servers, nobody else can see your business — not even us.

PepStock Pro is required for the owner side ($4.99/month or $45.99/year, 7-day free trial). Resellers you invite use the app free.

Terms of Use: https://pepstockapp.com/terms/
Privacy Policy: https://pepstockapp.com/privacy/

## Pricing and in-app purchases

Base price: Free.

**Subscriptions**

| Subscription | Price | Period |
| --- | --- | --- |
| Pro Monthly | $4.99 | per month |
| Pro Yearly | $29.99 | per year |


## Is PepStock safe?

Not enough ratings yet to assess PepStock.

## Is PepStock legit?

PepStock: Peptide Inventory appears legitimate, with a few gaps. The AppsHunter Legitimacy Score for PepStock is 65 out of 100 points across 7 verification signals from App Store and developer data.


## Version history (last 5 releases)

### 3.0.19 — 2026-10-11

Quotes stay out of every figure a compound owns, a split bill says so on its own record, and the calculators say plainly what they do.

QUOTES STAY OUT OF YOUR COSTS, EVERYWHERE

A quote is a price you are holding, and it now reaches nothing a compound owns. It cannot change a compound's added costs, it is never listed as a supplier you buy from in vendor comparison or the reorder planner, it cannot cancel a supplier refund on a real order, and it is not counted in units purchased. Cost per unit, margin, stock value, cash and profit were already untouched.

A bill can no longer be assigned to a quote either, from the order screen or from the purchase itself. Where that had already happened, your Expenses screen, your expense records and your reports could disagree about whether the money was still overhead — they now give one answer, and a duplicate charge the quote was hiding is reported again.

The quote screen says all of this at the top, and it no longer shows a shipment status for something that has not been shipped. In your list of orders a quote is marked Not ordered rather than carrying a delivery stage.

A SPLIT BILL SAYS SO ON ITS OWN RECORD

Splitting a bill across an order moves money out of operating expenses, and the expense row said nothing about it — so the row looked ordinary while being left out of the month's total. Every split bill now states where its money is: what it was, how much is on purchases, how much is still in operating expenses, and which purchases carry it. The three figures always add up to the bill.

In the list, a bill that has been split says so on its own row — "On a purchase — counted in cost of goods, not here" when all of it has gone, or both amounts when only part has.

The duplicate-postage check reads the same figures. A postage bill you have assigned in full to a purchase is no longer flagged as recorded twice: that money is freight on the order, not postage on a sale. One you have only partly assigned is still checked, on the part still in operating expenses.

ONLY BILLS WITH MONEY LEFT ARE OFFERED

When splitting an expense across an order, the picker lists what is LEFT of each bill rather than what it originally cost, and a bill you have already assigned in full drops out of the list. Money that came back to you — a refund recorded as a credit — is not offered either, because assigning a negative cost to a purchase is money nobody spent.

THE CALCULATORS SAY WHAT THEY DO

Every calculator converts a number you already have. None of them chooses a dose, and the screens now say that rather than implying otherwise: the reconstitution tool asks for the dose you already know and returns the matching volume, and the result is labelled Volume for Your Dose. Not one calculation changed — every figure is identical to the version you have been using.

### 3.0.18 — 2026-10-10

The guide now explains everything the last update added, and everything since 3.0.16 is included.

HELP FOR QUOTES, PRICING, SPLIT BILLS AND DISCONTINUED PRODUCTS

Four things arrived with nothing in the guide explaining them. All four are written up against the control you actually tap, including what "This is a" does on an order and what "Price this purchase separately" covers.

RESELLERS, THE HOUSE INVENTORY SECTION EXPLAINED

Your guide now covers the list under your own stock — what the house holds and what each costs you — and why it stays off the price list you send customers.

A BACKUP FROM A NEWER VERSION IS REFUSED, NOT QUIETLY TRIMMED

A backup from a newer PepStock used to look like it restored while anything that version added was dropped. It is now checked first and refused with the real reason. Your file is fine.

AN EMPTY SHELF NOW SAYS WHICH KIND OF EMPTY IT IS

A reseller with no stock was told to wait whether the house had sent nothing, nothing had reached their phone, or their access had ended. Only the first is worth waiting for, and their screens now tell them apart.

A PART OF YOUR INBOX THAT COULD NOT BE READ NOW SAYS SO

If one reseller's submissions could not be read while another's arrived, a partial inbox looked exactly like the whole one. It now warns you at the top.

QUOTES YOU CAN HOLD, AND CONVERT WHEN YOU ORDER

Write a vendor's price up as a Quote: no stock, no cash, until you convert it.

PRICE STOCK BY THE PURCHASE IT CAME FROM

A purchase can carry its own retail and friends and family prices, and a sale quotes the batch it draws from.

SPLIT ONE BILL ACROSS THE COMPOUNDS ON AN ORDER

Assign what each compound incurred; the rest stays in operating expenses.

A SALE A RESELLER LOGS NOW SAYS WHAT HAPPENED TO IT

It names the real reason a line could not be sent and leaves the order open.

A REFUND ON AN ORDER MAKES EVERYTHING ON THAT ORDER CHEAPER

Money back comes off what that stock cost you, in proportion. Profit for months you have reported rises.

MONEY THAT CAME BACK IS COUNTED AGAIN

A credit was ignored in expense totals and a bill filed onto a purchase was counted twice. Both count once.

DISCONTINUE A COMPOUND WITHOUT DELETING IT

It leaves reorder planning; history, sales and holding value stay, and you can still sell it.

FAILED TESTING STOCK IS NO LONGER VALUED AS STOCK

Its cost is already a loss, so counting it in inventory stated the same money twice.

DELETING AN ORDER TAKES ITS MONEY AND ITS STOCK WITH IT

And deleting a reseller no longer loses their stock.

POSTAGE ON AN ORDER SPLITS ACROSS EVERY PRODUCT ON IT

It was divided only between batch tracked products, overcharging syringes and vials.

WHAT AN ORDER COST, AND WHAT DELETING IT TAKES OFF

Both figures counted only batch tracked products. Both count everything now.

A SEVEN DAY RANGE ON YOUR REPORTS

7 Days alongside 30, 90, 1 Year and All Time, and the financial summary reads net of refunds.

ONE NAME FOR THE OWNER DRAWS EXPORT

The export of money and stock you put in or took out is called Owner Draws & Contributions everywhere now, matching the Help Guide, the PDF and the Android app. The Reports button called it Owner Transactions, which no accountant uses. Same columns; the saved file matches, and PDF reports carry the date instead of a long number.

ADDED COSTS ON PURCHASES NOW FOLLOWS THE PERIOD YOU PICK

A dated list of costs, so it reads the range on Reports as Expenses and Stock Adjustments already did. It was the only export ignoring it. Costs outside the range simply have no rows.

RESELLERS, YOUR RECEIPTS CARRY YOUR OWN NAME

If you had not set a business name on your card, a receipt or statement you shared was named after the house you buy from. It now uses your own name instead. Nothing inside the document changed.

### 3.0.17 — 2026-10-06

Everything since 3.0.13, including a backup that is refused rather than half-read.

A BACKUP FROM A NEWER VERSION IS REFUSED, NOT QUIETLY TRIMMED

Restoring a backup written by a newer PepStock used to look like it worked while anything that version added was dropped. It is now checked before anything is touched, and refused with the real reason. Your file is fine; update and open it again.

AN EMPTY SHELF NOW SAYS WHICH KIND OF EMPTY IT IS

A reseller with no stock was told to wait for an allocation whether the house had sent nothing yet, nothing had ever reached their phone, or their access had been ended. Only the first is worth waiting for, and their screens now tell the three apart — including a list that arrived once and has not been updated since, which says how old it is.

Their sales list did the same thing: "no sales yet" whether they had submitted nothing or nothing they submitted had ever reached the house. It now says which.

A PART OF YOUR INBOX THAT COULD NOT BE READ NOW SAYS SO

If one reseller's submissions could not be read while another's came through, your approvals list showed what arrived and nothing told you the rest was missing — so a partial inbox looked exactly like the whole one. It now warns you at the top that what you are looking at is not everything.

QUOTES YOU CAN HOLD, AND CONVERT WHEN YOU ORDER

Write a vendor's price up as a Quote. It holds no stock and moves no cash. Converting it is when the stock arrives and the money is spent; deleting it changes nothing.

PRICE STOCK BY THE PURCHASE IT CAME FROM

A purchase can carry its own retail and friends-and-family prices, and a sale quotes the batch it draws from. Your reseller rate stays per compound.

SPLIT ONE BILL ACROSS THE COMPOUNDS ON AN ORDER

Open a purchase order, choose the bill, and assign what each compound incurred. What you do not assign stays in operating expenses, and is never counted twice.

A SALE A RESELLER LOGS NOW SAYS WHAT HAPPENED TO IT

A line that could not be sent was reported as "not enough stock" whatever the reason, and the order moved on as though filled. It now names the real reason and leaves the order open, and a Connection panel shows their link and their last submission. One certificate that could not be sent no longer freezes their whole stock list.

A REFUND ON AN ORDER MAKES EVERYTHING ON THAT ORDER CHEAPER

Take money back and it comes off what that stock cost you, every product in proportion to its cost, sold or unsold.

BEFORE YOU LOOK: PROFIT FOR MONTHS YOU HAVE REPORTED WILL GO UP

The refund applies to units already sold, so their cost drops and profit rises. The new figure is correct, but if you have sent one out, it has moved.

MONEY THAT CAME BACK IS COUNTED AGAIN

A refund recorded as a credit was ignored in expense totals, and a bill filed onto a purchase was counted twice. Both count once now.

DISCONTINUE A COMPOUND WITHOUT DELETING IT

Set a product to Discontinued and it leaves reorder planning. History, sales and holding value stay, and you can still sell it.

FAILED TESTING STOCK IS NO LONGER VALUED AS STOCK

Its cost is already reported as a loss, so counting it in inventory stated the same money twice.

DELETING AN ORDER TAKES ITS MONEY AND ITS STOCK WITH IT

The money stayed in Net Cash Movement and the units on the shelf. Deleting an order now removes what it brought in, and deleting a reseller no longer loses their stock.

POSTAGE ON AN ORDER SPLITS ACROSS EVERY PRODUCT ON IT

Postage was divided only between batch-tracked products, so syringes and vials were overcharged.

WHAT AN ORDER COST, AND WHAT DELETING IT TAKES OFF

The order's product cost, and the figure the delete confirmation quotes, counted only batch-tracked products. Both count everything now.

A SEVEN DAY RANGE ON YOUR REPORTS

Dashboard and Reports now offer 7 Days alongside 30, 90, 1 Year and All Time. The financial summary export reads net of refunds.

### 3.0.16 — 2026-10-06

Quote an order before you place it, price stock by the purchase it came from, and split a bill across compounds.

QUOTES YOU CAN HOLD, AND CONVERT WHEN YOU ORDER

Write a vendor's price up as a Quote. It holds no stock and moves no cash, and your dashboard shows what you are sitting on. Converting it is when it becomes a purchase: the stock arrives and the money is spent. Delete a quote and nothing changes.

PRICE STOCK BY THE PURCHASE IT CAME FROM

The same compound from two vendors is not the same stock. One arrived with testing included and cost more; the other you sell as-is for less. A purchase can now carry its own retail and friends-and-family prices, and a sale quotes the batch it draws from. Your reseller rate stays per compound, so a reseller is never quoted two prices for one product.

SPLIT ONE BILL ACROSS THE COMPOUNDS ON AN ORDER

A testing invoice covering eight compounds was all-or-nothing. Open a purchase order, choose the bill, and assign what each compound actually incurred, watching what is left count down.

One bill often covers several orders, so assign this order's share and leave the rest — it stays in operating expenses and is never counted twice.

DISCONTINUE A COMPOUND WITHOUT DELETING IT

Set a product to Discontinued and it leaves reorder planning. Everything else stays: its purchase history, its sales, and the value of any you still hold. You can still sell it.

A REFUND ON AN ORDER MAKES EVERYTHING ON THAT ORDER CHEAPER

Take part of an order's money back and it comes off what that stock cost you — every product on it, in proportion to its cost, sold or unsold. Stock on your shelf and stock a reseller holds are valued lower.

BEFORE YOU LOOK: PROFIT FOR MONTHS YOU HAVE ALREADY REPORTED WILL GO UP

The refund applies to units you have already sold, so the cost of those sales drops and the profit on them rises. A period you have shown an accountant will report a higher figure. The new number is correct, but if you have sent one out, it has moved.

MONEY THAT CAME BACK IS COUNTED AGAIN

A refund you recorded as a credit — a cancelled campaign, a returned payment — was ignored in your expense totals, so overheads read high and profit low by its full amount. And a bill filed onto a purchase was counted both as stock and as overhead. Both count once now.

A SALE A RESELLER LOGS NOW SAYS WHAT HAPPENED TO IT

A line that could not be sent was reported as "not enough stock" whatever the real reason, and the order moved on as though it had been filled — so a sale could leave a reseller's screen without ever reaching the house. It now names the real reason and leaves the order open, and a Connection panel on the reseller's side shows their link and what became of their last submission. Unticking "keeping these for my own use" now gives their own price back too. And one certificate that could not be sent no longer freezes a reseller's stock list: their figures go first, and you are told if they did not arrive.

FAILED TESTING STOCK IS NO LONGER VALUED AS STOCK

Its cost is already reported as a loss, so counting it in inventory stated the same money twice.

DELETING AN ORDER TAKES ITS MONEY AND ITS STOCK WITH IT

The money stayed in Net Cash Movement and the units on the shelf. Deleting an order now removes what it brought in, and deleting a reseller no longer loses their stock.

POSTAGE ON AN ORDER SPLITS ACROSS EVERY PRODUCT ON IT

Postage was divided only between batch-tracked products, so syringes and vials were charged at a higher rate.

WHAT AN ORDER COST, AND WHAT DELETING IT TAKES OFF

The order's product cost, and the figure the delete confirmation quotes, counted only batch-tracked products. Both count everything now.

A SEVEN DAY RANGE ON YOUR REPORTS

Dashboard and Reports now offer 7 Days alongside 30, 90, 1 Year and All Time. The financial summary export now reads net of refunds, as its own totals always did.

Both apps work this out the same way, figure for figure, on the same set of books.

### 3.0.13 — 2026-10-01

Your resellers can now see what the house holds, and what it costs them, without asking.

HOUSE INVENTORY, ON THE SCREEN THEY ALREADY USE
A reseller opening Inventory sees their own stock, and now sees yours underneath it — what is available at the house, counted in vials and kits, with what each one costs them from you.

They had no way to see this without starting a stock request and backing out of it. Anyone answering a buyer who asks "can you get more of that" was guessing, or messaging you to find out.

It is kept separate from their own stock on purpose, and it is deliberately NOT on their price list. A price list is what they can sell today. Advertising stock that is sitting at the house is worse than any figure being wrong, because their buyer has already paid by the time anyone notices.

NET CASH MOVEMENT SUBTRACTS YOUR ORDER DISCOUNT
The same owner who reported this in 3.0.12 updated, checked, and told us the figure had not moved. He was right.

3.0.12 corrected the discount in the report, the PDF and the deletion warning. The figure he had actually named — Net Cash Movement on the dashboard — was a fourth place that worked the total out separately, and it was the one place nobody had changed. On his own order, 265 of product plus 20 postage with 26.50 off, the app said 285 had left the bank when 258.50 had.

Cash Position now reads the same definition as every other screen, so the four cannot drift apart again. Underneath the spend there is a quiet line naming what suppliers gave back — marked as already included above, so it can be read at a glance without being subtracted twice.

Your reports, your accountant's file and the printed page all take that total from one place now. Nothing you have recorded needs changing.

THE HELP GUIDE EXPLAINS THE DISCOUNT
The section on what changed in 3.0 now covers vendor refunds and where they land, in the app and on the website.

ONE NOTE FOR ANYONE WHOSE SPREADSHEET READS THE FINANCIAL SUMMARY BY POSITION
Ten rows of the financial summary export have moved, so that iPhone and Android emit the same 42 rows in the same order. Every key keeps its name and its meaning. If a spreadsheet of yours finds its columns by NAME, nothing changes. If it finds them by row NUMBER, re-point it once.

All of this reads identically on iPhone and Android, row for row and name for name.

## Apps similar to PepStock

| App | Rating | Price | Category |
| --- | --- | --- | --- |
| [QE Solar Tools](https://appshunter.io/ios/app/qe-solar-tools/id1534715588) | 4.3 (9) | Free | Business |
| [Igniiite](https://appshunter.io/ios/app/igniiite/id6744874278) | 5.0 (12) | Free | Business |
| [Invoice Pro. Invoice on the go](https://appshunter.io/ios/app/invoice-pro-invoice-on-the-go/id1135273295) | 4.1 (51) | Free | Business |

## More apps by Matthew Hayslett

- [BioHack Track: Peptide & GLP-1](https://appshunter.io/ios/app/biohack-track-peptide-and-glp-1/id6785361836)
- [Did I Take It](https://appshunter.io/ios/app/did-i-take-it/id6786475805)
- [RentalBiz: Rental Manager](https://appshunter.io/ios/app/rentalbiz-rental-manager/id6786999603)

All apps by Matthew Hayslett: https://appshunter.io/developer/1881835593

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-10-15.*
