# Tools

> Every listed resource, editors’ picks first. The filters below can be combined.

- Search: append `?q=<keywords>` to the URL. Separate several keywords with spaces; all of them must match. Matches name, repository, tags, professions, description and README.
- Filter by type: append `?type=<cli|skill|plugin|mcp>` to the URL.
- Filter by profession: append `?profession=<profession id>` to the URL. Separate several ids with commas; a resource matches when it suits any of them. Ids are listed at https://hebbmind.com/api/v1/professions
- Filter by tag: append `?tag=<tag>` to the URL. Separate several tags with commas; a resource must carry all of them. Tags are listed at https://hebbmind.com/api/v1/tags

Tagged `python`, `pdf`, `bookkeeping`: 3 items.

- [pdfplumber](https://hebbmind.com/cli/pdfplumber.md): [CLI] Reads the exact position of every character, line and table cell in digital PDFs: the CLI exports layout-preserving text or CSV/JSON details, and the Python API extracts tables and form fields, ideal for invoices, statements and reports. Runs locally with Python; scans need OCR first.
- [invoice2data](https://hebbmind.com/cli/invoice2data.md): [CLI] Extracts issuer, amount, date, invoice number and other fields from PDF invoices using YAML/JSON templates, exporting CSV, JSON or XML. Ships several text-extraction backends, OCR for scanned invoices and an optional AI fallback.
- [factur-x](https://hebbmind.com/cli/factur-x.md): [CLI] Python library with a CLI for Factur-X (ZUGFeRD 2.x), the French-German e-invoicing standard: combine a regular PDF invoice and XML into a Factur-X invoice, extract the XML from invoice PDFs and validate it against the official XSD; also handles Order-X and UBL. Needs Python 3.
