Run it in your browser
Upload a Shopify orders CSV export, set the same options the CLI config accepts, and download the exact files the CLI writes: exceptions.csv and report.md. Nothing is uploaded anywhere.
Config key: days. Default 3, from examples/config.example.json.
Config key: now. Clear the field to use the current time, like a CLI run without a config.
Config key: preorderKeywords. Orders whose tags or note contain one of these are excluded.
| Order | Exception | Age (days) | Total | Priority | Detail |
|---|
report.md
What it does
Line item rows grouped by order, so multi-item orders are judged as a whole
paid_unfulfilled_aging: paid orders still unfulfilled past the age threshold
partial_fulfilled_leftover: partially fulfilled orders with item quantities still unfulfilled
fulfilled_no_tracking: orders marked fulfilled with an empty tracking number
on_hold_aging: on-hold orders ageing past the threshold, with preorders excluded by keyword
Outputs exceptions.csv sorted by age and order value, plus a summary report.md, fully offline
Install and usage
Requires Node.js 20 or newer. No packages to install.
git clone https://github.com/aamirtechs/stuck-orders-cli.git
cd stuck-orders-cli
node src/cli.js examples/orders.csv --config examples/config.example.json --out-dir out
This writes exceptions.csv and report.md to the output directory. Thresholds, the reference time and preorder keywords are configurable.