← All posts
Published October 26, 2026

Reseller Inventory Aging: Review Cash Sitting in Unsold Stock

Separate acquisition age from listing age, reconcile remaining stock at cost, and choose practical next steps for older inventory.

Cardboard boxes and packing materials stored on metal shelving
Photo Credit: Tima Miroshnichenko

An old listing and an old purchase are not the same thing. A pair of shoes bought 105 days ago but listed ten days ago has had little time in front of buyers, while its purchase cash has been committed for more than three months. An inventory aging review separates those two facts before you decide what to do.

Before your next buying trip, compare the cash tied up in old stock with your estate sale sourcing budget rather than assuming every unsold item will fund new purchases.

The inventory aging calculator is a manual, browser-local review of remaining stock at acquisition cost. It is not a market valuation, a profit calculator, a forecast of when something will sell or an accounting write-down.

Choose an as-of date, then count what remains

Pick a date for the review and use it consistently. The calculator's as-of / snapshot date is editable. Its prefilled example uses October 9, 2026, not an automatically advancing current date. Reset restores that fixed hypothetical example; it does not retrieve your inventory.

Use one identifier per record and enter:

Use separate records when acquisition dates or per-unit costs differ. A homogeneous group can share a row when its units have the same acquisition date and unit cost. If a ten-unit purchase cost $100 and six remain, enter six units at $10 each, not six units at the whole $100 purchase cost. For partial sales and cent-remainder allocation, use the lot tracker; this aging tool does not replace that allocation workflow or the app's recorded-sale rules.

Check the units against your shelf and source records. Already sold, returned, missing or written-off units need a deliberate review rather than an assumed remaining count. This tool does not model returns or adjustments automatically. See the inventory tracking guide for a consistent purchase-and-sale record routine.

Read acquisition age in calendar days

Acquisition day is age zero. Age is the number of calendar dates between the acquisition date and the selected as-of date, using the Gregorian calendar. There is no time of day, local-midnight subtraction or division of elapsed hours. Leap years, year boundaries, daylight saving and browser timezone therefore do not change a row's bucket.

The four buckets are 0–30, 31–60, 61–90 and 91+ days. Exactly 90 belongs to 61–90; “older than 90” begins at 91. Each complete valid row enters exactly one bucket, including rows with zero quantity or zero cost.

All displayed counts mean remaining units, not records. Three mugs in one record contribute three units. Record counts may be reported separately in exports, never under an ambiguous “inventory count” label.

A hypothetical eight-unit review

The following example is entirely fictional. As of 2026-10-09, four records hold eight remaining units:

Record Acquired Units All-in unit cost Remaining cost Acquisition age Listing age Bucket
Books-A 2026-09-24 2 $12.50 $25.00 15 days 9 days, listed 2026-09-30 0–30
Jacket-B 2026-08-25 1 $30.00 $30.00 45 days 40 days, listed 2026-08-30 31–60
Mugs-C 2026-07-26 3 $7.50 $22.50 75 days Unavailable 61–90
Shoes-D 2026-06-26 2 $20.00 $40.00 105 days 10 days, listed 2026-09-29 91+

The bucket costs reconcile: $25 + $30 + $22.50 + $40 = $117.50. The unit counts reconcile: 2 + 1 + 3 + 2 = 8 units. The primary older-than-90 result is $40 of remaining acquisition cost and two units, not $117.50. It does not mean the shoes will sell for $40, will earn $40 profit, or are worthless.

Listing age is separate context. The shoes are old purchases but relatively new listings. Missing listing information for the mugs is unavailable, not zero days listed and not proof that they were never listed.

Check costs before changing prices

Start with mistakes you can verify: a whole-lot cost entered as unit cost, purchase tax counted twice, transport allocated inconsistently, or sold units still included. Explicitly enter zero for genuinely free inventory. Blank required costs are incomplete, not an instruction to assume zero.

The remaining at-cost amount is:

remaining acquisition cost = remaining whole units × all-in cost per unit
total at-cost inventory = sum of all valid remaining row costs
older-than-90 cost = sum of remaining costs with acquisition age >= 91

The calculator parses USD to integer cents before multiplication and summation. It does not average different unit costs or guess an allocation for mixed-value lots. If your source allocation cannot be represented as one equal cent amount per unit, separate the units by their actual allocated cent costs instead of rounding away the difference.

Use listing age to choose the next review

For an old purchase that is newly listed, first inspect whether the listing is complete, visible and accurately describes condition. For stock still unlisted, prioritize getting a truthful listing ready rather than interpreting its purchase age as evidence that the market rejected it.

For a long-listed item, check your photos, title, condition details and the relevant completed-sale evidence. Review your actual fees, shipping and minimum acceptable outcome before repricing. A lower asking price is a decision, not a sale forecast, and aging alone does not prescribe the amount of a markdown.

If a listing date is unknown, retrieve it from your records where possible. Do not replace it with the purchase date merely to make the result look complete. The tool rejects known listing dates before acquisition and dates after as-of.

Set a manageable review routine

Review the 91+ bucket first, then the 61–90 bucket that is approaching it. Make a short list of actions you can complete: correct a record, list an unlisted item, improve photos, research an asking price or decide whether to keep holding it. Seasonality, demand, condition and storage constraints still need your judgment.

Repeat the review using a new as-of date and updated remaining quantities. Compare the decisions you actually took and sales you actually recorded, not only whether one aging bucket shrank. Moving a date or removing a row can change the total without recovering any cash.

Upcyclist helps keep purchases, stock and sales organized. These public review entries are not saved into the app, synced or carried into signup. The calculator does not change your account inventory, purchase dates or recorded financial rules. You can explore Upcyclist separately.

Validation, exports and limits

This initial release is manual-entry only, with no CSV import or file upload. The existing app importer has a different record shape and missing-value rules; the calculator does not claim import compatibility.

A wholly blank add-row placeholder can be ignored; the interface and summary identify how many and which input rows were ignored. A partially entered row, duplicate identifier, invalid date, missing required amount or out-of-range quantity blocks all completed totals and exports. Correct or remove the identified row. Valid records are not silently totaled while invalid ones vanish. Zero remaining units and zero unit cost are valid explicit values; neither removes a required date or identifier.

Limits are 100 manual rows, unique case-insensitive identifiers of 1–128 characters without control characters, real dates from 1900 through 9999, 0–1,000,000 whole units per row, $0–$1,000,000 per unit with at most two decimal places, and $1 trillion combined remaining cost. Acquisition and listing may not be after the selected as-of date. These are tool bounds, not market rules.

Valid edits recalculate locally without moving the page on each keystroke. Calculate reveals field errors and focuses the first invalid entry; on phones, a valid calculation moves to results and respects reduced-motion settings. Add, remove, reset and invalid edits refresh or clear the current review. Copy offers selectable text if the clipboard is unavailable. Download creates a current plain-text review, not a spreadsheet or app-import file, containing valid rows, dates, units, method, buckets, totals and stated blank-row exclusions.

Nothing entered is uploaded, persistently stored, sent to analytics or transferred to an account. Existing consent-aware page views are separate; there is no calculator, copy, download or CTA action tracking. With JavaScript off, the method and worked example remain readable but calculation/export controls remain disabled and no financial form values are submitted.

Inventory trackingCash flow
Share this postLinkedInXFacebook

Know your numbers on every flip.

Track purchases, sales, fees, and profit in one place — free to start.

Start Free

Get New Posts by Email

One email when a new post goes up. No spam, unsubscribe anytime.