Editing and deletion are confined to drafts and a numbered invoice is cancelled with a Storno — the tools mirror those rules, so an assistant cannot quietly break the audit trail. Lists return trimmed summaries by default, which is what keeps a hundred-invoice query readable; ask for the full record only when you need it.
An MCP server for the Papierkram.de accounting API. It covers the full document lifecycle — draft an invoice, send it, cancel or archive it, download the PDF — alongside contacts, projects, tracked time, tasks and read-only banking, so an assistant can do the bookkeeping instead of describing it.
- list_companies, get_company, create_company, update_company and delete_company, plus the matching contact-person tools — customers and suppliers, and the people at them; lists return compact summaries unless you ask for the full record
- list_invoices, get_invoice, create_invoice, update_invoice and delete_invoice — invoices start as drafts and only drafts can be edited or deleted; line items carry the VAT rate as a decimal
- send_invoice, cancel_invoice, archive_invoice and download_invoice_pdf — deliver by email or finalise as PDF, which is where the invoice number is assigned; cancel a numbered invoice with a Storno document rather than deleting it
- list_estimates, get_estimate, create_estimate, update_estimate, delete_estimate, send_estimate and download_estimate_pdf — the same shape for proposals
- list_expense_vouchers, get_expense_voucher, create_expense_voucher, update_expense_voucher and delete_expense_voucher — expenses, with each line item taking a category from the fixed Papierkram account list
- list_projects, get_project, create_project, update_project, delete_project, archive_project and unarchive_project — projects, which must belong to a company
- list_time_entries, get_time_entry, create_time_entry, update_time_entry and delete_time_entry — tracked time, which needs a task and a user
- list_tasks, get_task, create_task, update_task and delete_task — tracker tasks under a project
- list_bank_connections, get_bank_connection, list_bank_transactions and get_bank_transaction — read-only banking, filterable by connection
- get_account_info, list_payment_terms, list_propositions and get_proposition — the account's plan, the payment-term IDs invoices need, and the products and services you can put on a line
A Papierkram account with API access. Create the key under Einstellungen > API and set PAPIERKRAM_API_KEY plus PAPIERKRAM_SUBDOMAIN — the part before .papierkram.de in your URL. Clients run npx -y papierkram-mcp-server over stdio; Node.js 20 or newer. An HTTP/SSE mode on port 3001 is available via Docker for n8n and other non-stdio clients.
One command plus a key — npx papierkram-mcp-server, then supply credentials
