Add credits, projects, tasks, vendors, and purchase orders

Five more resources following clients.rs's template exactly, same as
the previous batch. credits.rs is otherwise identical to quotes.rs
since Credit is also a type alias for Invoice in the SDK (same table,
distinguished by entity_type upstream).

Verified against a live local server: full create/list/get/update/
delete round trip for all five.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 16:49:39 -04:00
co-authored by Claude Sonnet 5
parent 1fbd7a7ce5
commit a0a629cbfe
11 changed files with 738 additions and 21 deletions
+10 -8
View File
@@ -3,10 +3,11 @@
A command-line client for the [Invoice Ninja](https://www.invoiceninja.com/)
v5 API, built on [`invoiceninja-sdk`](https://crates.io/crates/invoiceninja-sdk).
> **Early scaffold.** `clients`, `invoices`, `quotes`, `payments`, `products`,
> and `expenses` are wired up so far, out of ~34 resources — see `CLAUDE.md`
> for the pattern the rest follow. [`GOALS.md`](GOALS.md) covers what the
> crate is for and what it is not.
> **Early scaffold.** `clients`, `invoices`, `quotes`, `credits`, `payments`,
> `products`, `expenses`, `projects`, `tasks`, `vendors`, and
> `purchase-orders` are wired up so far, out of ~34 resources — see
> `CLAUDE.md` for the pattern the rest follow. [`GOALS.md`](GOALS.md) covers
> what the crate is for and what it is not.
## Development
@@ -48,7 +49,8 @@ table view's few key columns:
invoiceninja-cli --output json clients get <id>
```
Every other wired-up resource (`invoices`, `quotes`, `payments`, `products`,
`expenses`) follows the same `list`/`get`/`create`/`update`/`delete` shape,
e.g. `invoiceninja-cli invoices list --status active` or
`invoiceninja-cli payments get <id>`.
Every other wired-up resource (`invoices`, `quotes`, `credits`, `payments`,
`products`, `expenses`, `projects`, `tasks`, `vendors`,
`purchase-orders`) follows the same `list`/`get`/`create`/`update`/`delete`
shape, e.g. `invoiceninja-cli invoices list --status active` or
`invoiceninja-cli purchase-orders get <id>`.