pastilhas b7e53878d3 say what this plugin is for, in the store's words
tags are how the marketplace is browsed rather than scrolled: a list of them on
the left, the plugins that carry one on the right. a closed vocabulary
(PLUGIN_TAGS in the platform) because free text becomes homelab, home-lab, Home
Lab and selfhosted inside a month, and a filter list of synonyms is worse than
no filter at all.

declared here rather than curated in the catalogue, so a plugin can say what it
is and nobody edits a table when one ships. the marketplace caches it on sync,
exactly as it already does for label and summary.
2026-08-27 06:49:32 +00:00

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, not invoiceshelf — named for what it shows rather than the daemon behind it, which is what keeps the URL /invoices. See PLUGIN.md.
S
Description
No description provided
Readme
267 KiB
Languages
TypeScript 100%