Purchase orders, receiving, vendors, warehouse and store inventory, wholesale, reports, and more — your whole inventory chain in one console.
Sign in
Enter your name to open your workspace — or create a new one.
or
Prototype workspace — data is stored locally in this browser until you connect a backend.
Create your account
Tell us about your company. The workspace adapts to you — your name on the door, your currency on every figure.
Stored locally on this device. Real multi-company sign-in and subscriptions need the hosted backend.
Sign in to CAMPO MEATINVENTORY
Enter your name so every stock movement is logged to whoever made it.
Local prototype. Your name is stamped on each entry for the audit trail — the PIN is a light access lock, not secure authentication.
CAMPO MEATINV
Settings
Users
Integrations
Dashboard
Warehouse inventory
On-hand units, weight, avg weight and value are calculated from receiving and outflow — never typed by hand.
Order
Create, save, place and receive purchase orders.
Create a manual order
Pick a vendor, then add products and box quantities by hand. No automatic suggestions.
Create a smart order
Tell me a vendor and your spending cap — I build the smartest order under it.I rank that vendor's products by how badly you need them, combining three signals: turnover (how fast each one sells), days of cover (how close it is to running out), and opportunity cost (the profit you'd lose per day if it went out of stock). Then I fill your budget with the highest-priority items first, in whole boxes, up to your target days of coverage.
Fast-moving items you're low on come first; slow movers come last and only if budget remains.
I cap each item so you don't over-buy perishables.
Anything that needed restocking but didn't fit is listed as at risk so you see your exposure.
The order quality depends on your sales history — with little data it falls back to your reorder levels and sharpens as you log sales.
Saved purchase orders
Built but not yet sent
Placed purchase orders
Sent to vendor · awaiting delivery
→
Receiving
One invoice, many products — including mixed weight & per-unit lines. Add every line from the delivery, add any freight or import costs, then post them together — each adds to on-hand at true landed cost.
1 · Invoice
Landed costsfreight & import costs are spread across the lines below
$
$
Weight needs a weight on every line. A per-unit line here has none — splitting by value.
2 · Products
Goods$0.00
Freight$0.00
Duties$0.00
Invoice total$0.00
Receiving history
▾
→
Manual Store Sale
Record what a store sold at the counter. Each row subtracts from that store's shelf and from company inventory. A temporary manual entry until the Square sales feed is connected.
1 · Details
2 · Products sold
Price/lb defaults to each product's retail — adjust if discounted.
No items yet.
⚠ This sale did NOT reach the server
It is saved on this device only and will keep retrying automatically. Do not tell the customer it is recorded in the system until this clears. Leave this screen open.
Store sales history
▾
→
Inventory to stores
Move product from the warehouse to a store. Each row subtracts from on-hand and is logged as sent to that store.
1 · Details
2 · Products
No items yet.
Transfer history
▾
→
Home
Quick actions
Recent store sales · last 30 days
No sales yet.
Warehouse availability
Live count of what the warehouse has on hand right now — pieces, plus weight for weighed items. Use it to check stock before promising a customer a special order.
Loading…
Request Inventory
Ask the warehouse to send product to your store. Type to find a product — the dropdown shows the pieces the warehouse has — then enter how many units you need. The warehouse weighs and dispatches what corporate approves.
1 · Details
2 · Products requested
No items yet.
My recent requests · last 30 days
▾
No requests yet.
Request history
Every request your store has made. Open one to see its full audit trail — what was asked, what was approved, and what was dispatched, with who and when.
→
No requests yet.
Store Requests
Requests from your stores. Open one to approve or adjust the units, then dispatch — dispatch weighs the product and moves it out of the warehouse.
→
No store requests yet.
Return to warehouse
Move product from a store back to the warehouse. Weigh the sealed product (gross) — tare is removed automatically. Each row subtracts from the store and adds back to the warehouse.
1 · Details
2 · Products
No items yet.
Returns history
▾
→
New Sales Order
Build a Sales Order for a wholesale account. Prices default to cost plus the client's markup — override any line. Nothing ships or deducts inventory until you fulfill & invoice.
1 · Account
2 · Products
No items yet.
Recent Sales Orders · last 30 days
▾
Inventory Shrinkage
Log product lost from inventory — consumption, spoilage, gift, or damage. Sales belong under Wholesale.
1 · Details
2 · Products
No items yet.
Shrinkage history
▾
→
Shrinkage & Loss
Where it's happening
By location
By reason
By product
Monthly trend
Stores
The locations you send product to. When you send inventory to a store, you'll pick from this list.
Your stores
Vendors
Your suppliers and every invoice you've received from them. Click a vendor to see their full invoice history, balances, and payment status.
Your vendors
Outstanding?Unpaid vendor invoices — what you owe your suppliers.
$0.00
Overdue?The portion of Outstanding that is past its due date.
$0.00
Paid
$0.00
Products
Your catalog with purchase history, price-per-lb trends and vendor comparisons. Click any product to open its page.
Inventory 0
Snapshot
—
On hand
—
Inventory value
Price per lb over time
Each dot is a purchase · watch the slope for inflation
Price stability & alerts
Vendor comparison
Who you buy this from, and the average price each
Purchase history
Account overview
$0.00
Purchased
0
Invoices
—
Avg invoice
$0.00
Open balance
$0.00
Past due
Purchases — last 12 months
Top products — all time
Transactions
Wholesale customers
Your wholesale accounts — sales, profitability, and invoices. Click a customer to open their full page.
Your customers
Order
Vendor invoices
Your vendors and what you owe each one. Click a vendor to see their open bills, then open a bill to pay it. Overdue shows in red.
By vendor
→
Invoice
Invoice file (scan / PDF)
Record payment
Vendor—
Open bills—
Paying—
Payment amount
$0.00
Payment details
Outstanding bills·
Invoice #
Due date
Invoice total
Open balance
Payment
Bills selected
0
Open balance (selected)
$0.00
This payment
−$0.00
Remaining after
$0.00
Sales Orders
Orders
→
Wholesale management
Set your default wholesale markup and see each client's effective rate. A client's own markup always overrides the global default.
Global wholesale markup
▾
Wholesale price = cost × (1 + markup ÷ 100). Applies to every client unless that client has their own markup set on their profile.
Payment terms
▾
Documents & branding
›
Client rates
Account overview
$0.00
Total sales
$0.00
Net profit
0
Orders
—
Order frequency
—
Avg order value
Purchases — last 12 months
Top products — all time
Invoices
FromTo
Outstanding?Unpaid invoice balances, net of credit memos and payments received.
$0.00
Overdue?The portion of Outstanding that is past its due date.
$0.00
Credit on account?The customer’s money in your hands not yet applied to an invoice — from overpayments or prepayments. Credit memos are different: they reduce a specific invoice and are already inside Outstanding.
$0.00
Credit available?Credit limit minus open exposure (unpaid balances plus unfulfilled orders). How much more they can order on terms.
$0.00
Delivery & transaction detail
▾
Sales to review
Square receipts waiting to post to this store
Loading sales...
Inventory on hand
What's on this store's shelves right now
Delivery history
Internal stock transfers — not recorded as sales.
→
Shipment volume
Weight & units by period
Top 10 products sent here
→
Cadence & anomalies
Square sales
Square receipts synced across your stores.
Square
Connected
0To review
$0Gross pending
0Stores mapped
Loading sales…
Markets
All commodities ·
Price history
Commodities
About
Latest news
Best-effort headlines
Data health
Performance metrics
Financial health at a glance — sales, margins, receivables, payables, and how hard your inventory is working.
Retail sales — stores
How the stores are selling.Revenue sums every manual store sale line in the period. Per-store rows show where the volume is. Square-synced sales join this report when the Square deduction sync (Phase 5) goes live — until then this covers sales rung through the app.
Revenue — last 12 months
Store comparison?Profit uses the FIFO cost recorded at the moment of each sale, so past periods never change when prices move. Any line missing a cost record is valued at current cost and flagged below the table.
Top products
Sales & profit — wholesale, last 12 months
Is the wholesale business growing and keeping its margin?Revenue is invoiced sales net of credit memos, by month. Gross profit is revenue minus product cost (net of restocked returns). A growing gap between the bars is margin expansion; bars converging means costs are eating growth.
Receivables vs payables
Cash about to come in vs cash about to go out.Receivables (A/R) is what wholesale customers owe you. Payables (A/P) is what you owe vendors. If overdue payables exceed overdue receivables, prioritize collections or negotiate vendor terms — the gap is your near-term cash pressure.
Vendor purchasing
Where your purchasing dollars go, and the risk in how they concentrate.Share of purchases ranks vendors by invoiced total for the period — each row shows dollars and percent of all purchasing. A top vendor above ~40% is negotiating leverage and supply risk at the same time. Paid on time is the share of paid invoices settled by their due date — your reputation with suppliers in one number.
Purchases — last 12 months
Share of purchases — top 10 vendors
Inventory liquidity & coverage
Can your stock cover what you owe?Inventory value (at cost) is what your current stock cost you to buy. Outstanding invoices is everything still unpaid to vendors. Coverage ratio = inventory ÷ what you owe.
Above 100% — your stock at cost covers your bills.
Below 100% — you owe more than your stock is worth at cost.
Measured at cost, which is conservative; at retail your stock is worth more. Watch for the ratio sliding under 100% or the past-due figure rising — both say tighten buying or speed up sales.
Inventory turnover & days on hand
How fast your money moves through inventory.Days on hand = how many days stock sits, on average, before it leaves — lower is better for perishables. Turns / year = how many times you sell through your average stock in a year — higher means a leaner, faster cash cycle.
Built from the cost of goods that left in the last 90 days vs. your average inventory value.
High days-on-hand in a category = capital trapped and spoilage risk; order less or push sales there.
Needs recorded outflow (sales, store transfers) to compute — receiving alone can't measure how fast stock moves.
Aging & dead stock
Which stock is sitting too long.Every item on hand is bucketed by days since it last left — sold or transferred to a store.
61–90 days and 90+ days is stock at spoilage risk with cash trapped in it.
The table lists your stalest items first.
Anything 60+ days needs a decision: discount it, move it, or stop reordering it. For perishables this is the most urgent list on the page.
Shrinkage & waste
How much margin you're losing to waste.Shrinkage rate = the cost of stock that was spoiled, damaged, gifted, or personally consumed, as a share of everything that left. The breakdown shows why it happened.
Rising spoilage usually means over-ordering or slow turns.
A rate above roughly 2–5% is worth investigating.
Pulled from your Inventory Shrinkage entries, valued at cost.
Margin vs benchmark
Are your markups hitting target.Actual is your markup — (retail − cost) ÷ cost — averaged per category. Benchmark is the target you set (use Edit benchmarks). The Δ chip shows how far above (green) or below (red) target each category sits.
One thing to keep straight: this is markup on cost, not gross margin on the sale price. A 100% markup equals a 50% gross margin.
Profit trend
Whether margins are improving or slipping.A point is recorded every Monday; the dashed line is your benchmark. Pick a category or the average. Green points sit above target, red below.
Needs a few weeks of Mondays before the trend means anything.
Movement history
Every in and out, grouped by batch, with who logged it. Undo a line to correct a mistake.
Settings & data
Appearance
Each person's choice is saved on their own device.
Company profile
Your company name brands the app and the login screen; the currency applies to every figure across the system. The address, phone, email and EIN appear on the purchase orders you send to vendors.
Units of measure
Override per product in its edit screen. Changing the unit relabels figures — it does not convert existing numbers, so record cost and weight in the unit you pick.
Issa
The assistant answers questions from your live data. With the cloud AI function deployed (Supabase + Anthropic), it reasons over a full digest of your business — inventory, receivables, retail, vendors — and falls back to the on-device analyst if the cloud is unreachable. Open it with the ✦ Ask Issa button at the bottom-right.
Commodities market
The Markets page tracks the commodity prices that move your costs. Pick the basket that matches your business.
Prices on the Markets page are best-effort sample / delayed data for prototyping. Production-grade real-time futures come from a licensed feed through your backend.
Backup & restore
Users & access
GM only
Danger zone
Removes all products and movement history. Vendors, stores, users, and settings are kept.
System
Users
Create and remove logins, set roles, and disable access. Changes apply across the whole company immediately.
Team
GM only
Loading…
Integrations
Connect Abastly to the tools you already use. Square is available now — more are on the way.
Add item
Recount / adjust stock
Edit / correct movement
Corrections are stamped with your name. On-hand recalculates instantly.
Edit store
Edit customer
Fulfill & invoice
Fulfilling deducts the ordered quantities from inventory, records cost, and issues the invoice with the payment terms on the order.
New payment term
Void invoice
Voiding reverses this invoice completely: inventory is restored at its original cost, and the amount is removed from revenue and receivables. The invoice number and record are kept permanently, marked VOID. This cannot be undone.
Issue credit
What happened to the goods?
Credit total$0.00
Receive payment
Applied$0.00
To account credit$0.00
Manage categories
Edit vendor
Add invoice
Records an outstanding bill for stock already on hand — for example an invoice you owed before moving onto this software. It updates this vendor's balance and your payables, but does not change inventory.
Create user
The General Manager role can see this Users panel and manage the team.
Create user
They sign in with this email and temporary password — share it securely. This creates a real account immediately.
Assigned stores
Invitation ready
This app can't send email on its own yet. Copy the message below and send it to the new user by email or text. They log in from the same workspace using their name.
Import products & opening stock
Upload a CSV with your catalog. Existing SKUs are updated (blank cells leave a field unchanged); new SKUs are created. A value in qty_on_hand posts an Opening balance receipt at that quantity and cost — quantities are never edited directly, so your ledger and FIFO stay true. Prices in dollars.