CLI

Extract invoices from the terminal and pipe structured results into anything. The invoicejet CLI wraps the REST API: same keys, same quota, same resources.

Coming soon

The invoicejet package is not on npm yet; it ships at launch. This page previews it. Every command maps to a REST endpoint you can call today with curl (see the API reference).

Install & authenticate

shell
npm install -g invoicejet   # or npx invoicejet ...

# one of:
export INVOICEJET_API_KEY=ijk_live_...
invoicejet config set-key ijk_live_...   # persists to ~/.config/invoicejet/

invoicejet me   # verify

Commands

CommandDoes
invoicejet extract file.pdf --waitExtract a local file and print the result.
invoicejet extract --url https://… --waitExtract from a public URL.
invoicejet extract file.pdfAsync: prints the id to poll.
invoicejet get <id>Fetch one invoice.
invoicejet list --unpaid --overdueQuery: --status --source --vendor --paid/--unpaid --overdue --min/--max --due-before/--due-after --limit.
invoicejet vendorsVendors by total billed.
invoicejet events [--type t]Recent invoice events (the same payloads webhooks deliver).
invoicejet paid <id> [--undo]Mark paid or unpaid.
invoicejet tag <id> <value|--clear>Set or clear the entity tag.
invoicejet file <id>Signed download URL (1 hour) for the original document.
invoicejet retry <id> [--force]Re-run extraction for a failed invoice; --force re-runs a complete one.
invoicejet request-approval <id> --email a@b.coEmail an approve/reject link.
invoicejet meKey check + monthly quota.

Scripting

Every command takes --json for the raw API response. Errors exit non-zero with the API's type/code, so failures are scriptable.

shell
# total of this month's completed invoices
invoicejet list --status complete --json \
  | jq '[.data[].amount] | add'

# batch a folder
for f in ./inbox/*.pdf; do invoicejet extract "$f"; done

# what's overdue, then chase the big one
invoicejet list --overdue
invoicejet request-approval 9b2f0c1e-… --email sam@company.com

# mark a vendor's invoices paid after a payment run
invoicejet list --vendor jetstream --unpaid --json \
  | jq -r '.data[].id' | xargs -n1 invoicejet paid