464acee34ea7bca39f195ea1b471b3a97ce35e2c
The app icon is flattened onto black because iOS rejects an alpha channel, and copying that straight over made every dock tile an opaque black square. The tile wants the frame's own rounded edge with the corners cut away — which is what the icon this replaces already had, and what tile: bare means. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Invoices
Your InvoiceShelf books, inside Officer — invoices, estimates, customers and payments, with the credentials held server-side.
What you get
- Invoices — list, filter by status, open one and see its lines
- Estimates — the same, before they become invoices
- Customers and their history
- Payments recorded against invoices
- Multiple companies — add several sets of books and switch between them
Requirements
A running InvoiceShelf instance Officer can reach, and credentials for it.
Setup
Install the plugin, open /invoices, and add an account: a label, the URL, and the credentials. They are encrypted at rest and never sent to the browser. Mark one active.
The plugin does not install or supervise InvoiceShelf. Point it at one you already run.
Permissions
One permission, invoices, grantable per role like any other app permission.
Notes
- The plugin is named
invoices, notinvoiceshelf— named for what it shows rather than the daemon behind it, which is what keeps the URL/invoices. SeePLUGIN.md.
Languages
TypeScript
100%