Service · Inventory Management

The number in your portal is the number on the shelf.

Every receive, every ship, every transfer, every damage event — written to a tamper-evident audit log the moment it happens. No nightly batch. No reconciliation tax. No 'let me check with the warehouse and get back to you.'

What we track

Four states, never blurred together.

The biggest lie in 3PL software is a single “Quantity on Hand” column that secretly mixes damaged, quarantined, and sellable. We split them at the schema level — every unit has a condition column, and your portal shows each separately.

On-hand (sellable)

Units cleared by receiving, in a location, condition = new. The number we’ll let an order claim against.

Damaged

Units flagged at receipt with required photo upload. Held in a damage bin, never picked for outbound until you decide.

Quarantine

Mismatched, mislabeled, or unidentified inventory. Sits in a hold location with a reason note until you confirm disposition.

In-transit (inbound)

POs you’ve submitted but we haven’t received yet. Counted toward forward inventory planning, never toward sellable.

What you see

A real-time portal under our brand, with your data.

Log in any time of day from any device. The on-hand grid is backed by the same database row a packer sees on the floor — when they pick a unit, your number drops in the same transaction. No caching layer, no 5-minute stale window, no “is the dashboard live?”

  • SKU-level on-hand grid, sortable by condition, location, or last-movement date
  • Per-PO closing report: expected vs received, variance %, damage count, photos
  • Inbound queue showing every PO we’re expecting and which dock day it’s scheduled
  • CSV export of any view — full snapshot to your accounting system in two clicks
  • Per-SKU movement history: every receive, ship, transfer, adjustment with operator + timestamp
  • Real-time low-stock alerts at your reorder threshold (per SKU, per channel mix)
portal.ishipto.us · InventoryLIVE

On-hand

12,487

Damaged

42

Quarantine

8

In-transit

2,150

SKU
Name
On-hand
Location
SKU-0182
Sport bottle 24oz
1,840
A-12-03
SKU-0205
Travel mug black
612
A-12-04
SKU-0331
Insulated tumbler
284
B-04-11
SKU-0408
Sport bottle 16oz
2,015
A-12-02

Stylized preview. Actual portal is keyboard-navigable and CSV-exportable.

How we handle problems

The discrepancy you didn’t catch is the invoice dispute next month.

Most warehouse problems aren’t catastrophic — they’re small, slow, and accumulate into a chargeback fight 60 days later. We surface them immediately, with photo evidence, and put them in your inbox before your accountant has to ask.

Discrepancy at receive

Expected 500, counted 487. The tablet flags the variance the moment the line is closed. Operator photo of the carton goes into the PO record. You see the email within minutes — not at month-end audit.

Damage in transit

Crushed cartons, water damage, broken seals. Required photo upload before the line can save. Damaged units route to the damage bin, never to sellable. You decide: scrap, return-to-vendor, or sell as B-stock.

Mystery inventory

SKU on the carton doesn’t match anything in your catalog? Goes to quarantine with a note. We email you. You reply with the right SKU, we move it to the right location with one click — no inventory phantom rows.

Tamper-evident audit log

Every inventory change written to an append-only log automatically. Bypassable only by a privileged operator role — which the app never runs as.

Atomic on ship

Inventory decrements in the same transaction as the order status change. No half-shipped phantom rows.

Cycle counts on demand

Request a count on any location or SKU. We run it within 48 hours and post the reconciliation back to your portal.

Stop reconciling. Start shipping.

If you spend more than two hours a week chasing inventory variance, we should talk.