Inventory
ASIN, FNSKU, MSKU and UPC, FBA and merchant-fulfilled side by side, unit cost, supplier, location and expiry. Low-stock alerts, CSV export, and a live unit-economics strip showing fees, margin, ROI and break-even as you type.
Built for the work behind the sale
Keep your inventory, FBA shipments, labels and books in one place. Know what you have, where it's going, and what you actually made.
Free while in beta · No card · Your data stays on your server
Amazon deposits, matched against your books.
Example figures. A difference points at a fee being read wrongly, or an event type still to import.
01 / The workspace
One workspace for the whole loop, from receiving a case to reading the payout.
ASIN, FNSKU, MSKU and UPC, FBA and merchant-fulfilled side by side, unit cost, supplier, location and expiry. Low-stock alerts, CSV export, and a live unit-economics strip showing fees, margin, ROI and break-even as you type.
Pick items, pack boxes with remaining-unit guards and a one-click single-box pack, then ship and track — SPD or LTL, destination FC, carrier and tracking. Marking a shipment shipped deducts the units once, and only once.
30-up Avery 5160 FNSKU sheets with real Code 128 barcodes and partial-sheet offsets, plus 4×6 box labels carrying a QR of the box contents. Generated as PDFs, not printed from the page, because browsers rescale die-cut stock.
One-click Amazon connect — no developer registration, no hand-copied refresh token. Live FBA inventory, orders, fee estimates, catalogue lookup and inbound plans. Without credentials every call degrades and the app stays usable.
Sales, refunds, reimbursements, inbound shipping, storage, mileage and off-Amazon expenses in one ledger. Profit & loss, profitability by SKU or ASIN, inventory valuation, sales velocity, and tax-summary CSV exports.
Look up an ASIN or UPC through Keepa to fill in title, brand, image and weight. Results are cached, so checking the same ASIN again costs no tokens. Lookup only ever reads — it never quietly creates a listing.
02 / The books
Most FBA dashboards are self-consistent: the totals are derived from the same rows they summarise, so an error in those rows shows up nowhere. These checks exist to break that circle.
Every closed settlement is compared with what Amazon actually paid. When the books and the deposit disagree, you see it on the settlement it happened in — rather than finding out at tax time that a fee had been read wrongly all year.
Shipping and placement costs come from Amazon's quote for that exact shipment. Where Amazon does not quote a leg, it says “not quoted” instead of substituting a formula — an invented number is worse than none, because you cannot tell it from a real one.
A fulfilment fee is labelled with its source: what Amazon took off your settled orders, Amazon's fee preview for your SKU, or an estimate. They are not the same number, and a catalogue-based estimate can land a whole weight band high.
An order Amazon has shipped but not settled has no known fees yet, so it is shown as pending and left out of the payout — instead of being filled in with a plausible percentage.
03 / Ownership
Johnny Preps is self-hosted. Your catalogue, costs and margins live in your own database. Connect Amazon and Keepa when you need their services.
Keepa keys and Amazon SP-API secrets are stored with AES-256-GCM, and the encryption key lives outside the database. Your Amazon client secret and refresh token never leave the server.
Passwords are hashed with scrypt. The database stores only a SHA-256 hash of each session token, so a copy of it cannot be replayed. Failed logins are rate limited, and changing your password signs out every other device.
Every row carries an account id and all data access goes through a single layer that filters by it — so isolation is enforced in one place rather than remembered in hundreds, and there are tests that try to break it.
04 / Get started
One plan while Johnny Preps is in beta.
Every feature. No card, no trial clock.