Skip to main content

RechnungsWerk - Releases

← App details

Nextcloud 34

RechnungsWerk 0.2.0
Release Details
UpdatedJuly 18, 2026, 7:55 a.m.
Changelog

Added

  • Angebote: Angebote mit eigenem Nummernkreis erstellen, festschreiben und als PDF versenden. Ein eigener Menüpunkt „Angebote" führt zu einer eigenen Liste mit Status (Offen, Abgelaufen, Angenommen, Abgelehnt, Übernommen, Revidiert). Angebote haben ein „Gültig bis"-Datum (§ 148 BGB) und eine optionale Freibleibend-Kennzeichnung (§ 145 BGB), die als Hinweis auf dem PDF erscheint. Der Angebots-Nummernkreis (Standard AN-{YYYY}-{####}) ist in den Einstellungen unabhängig von den Rechnungen konfigurierbar (#111)
  • In Rechnung übernehmen: ein festgeschriebenes Angebot lässt sich per Knopfdruck in einen neuen Rechnungs-Entwurf überführen – Positionen und Empfänger werden übernommen, die Rechnung referenziert die Angebotsnummer, das Angebot wird als „übernommen" markiert (#111)
  • Angebot revidieren: aus einem festgeschriebenen Angebot lässt sich eine überarbeitbare Revision erstellen. Sie erhält beim Festschreiben eine Revisionsnummer (AN-…-1, -2, …), das Ursprungsangebot wird als „revidiert" markiert (#111)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureSut+zU8cXNarPEIMOdjzO6Vyt3zPfCjSliR6aqSC+JHI+CIm8DlB/lyeDsWuCLaG9K6AQ/43KaiWW1I9f4kqWlUU6t2sBnkafY9FC1F4Sl8j8Ku63t9rBmi9jpLaV5S4Lu6R4Tu8QzRF4ozFDnw9bB2N3+gRl5YfuAzAQa49q67qe+C5wN9ietNZoHicl1l5q9tpNuAs+Q2t9lva8OBNToqR1sKLjVdb3saAG1U+4MrmPTPz0EsU8vGo7oD3agYndSw9RaeXbxMTuDMSHSbLCOZEVf5P9Ns594IwKZ5JsAbCEkvtMQl64vKY7+SWLojj7+p3b7e31Wkhc/XUVmvIgg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.8
Release Details
UpdatedJuly 17, 2026, 8:28 a.m.
Changelog

Added

  • Zahlungsstatus verfolgen: Rechnungen lassen sich in der Liste als bezahlt markieren; der Status (offen, überfällig, bezahlt) ist auf einen Blick sichtbar – überfällige Rechnungen sind hervorgehoben, bezahlte gedämpft dargestellt. Eine Filterleiste (Alle/Offen/Überfällig/Bezahlt) zeigt zusätzlich die Summe der offenen Beträge. Ein Standard-Zahlungsziel in den Einstellungen belegt neue Rechnungen vor (#117)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturesXhEzBMcXpQoQRWbU5Ky7yfzsZEyH5Ll1kI7EJKXftrcsmh1YwvMGgtcbOfeFsPO6mrbq/jzFYuX2lWJazredJEeLSSspQeHTvcuCXSY4ne25hOpuVtTux7bD8fJLGAiyQSvuJzGWXfwp6TSlTM0wdlU1TyLdR8w/dWyVLsQf9367mbQE3yfefnI0CT1G0u+TTPQsDMiy0Ua5njgIJRhpl6giGwn9pjDzIJ5OmYDkdm70c7rFDS1VqUoXAvMo9oEjJthD2UQhoBQY0A+iHk4b8aRgsn6zbBTSxj+NcOA0Qk0ZeYspQJ4oRbSUT5DymHnREzSLMq9n0n17dM3R2TnVw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.7
Release Details
UpdatedJuly 15, 2026, 7:51 p.m.
Changelog

Added

  • Rechnung duplizieren: eine bestehende Rechnung lässt sich per Knopfdruck in der Rechnungsliste als Vorlage für eine neue, bearbeitbare Rechnung übernehmen. Empfänger, Positionen, Referenzen, Notizen und Textbausteine werden kopiert; die neue Rechnung startet als Entwurf ohne Nummer. Stornobelege sind davon ausgenommen (#124)

Fixed

  • Kunde anlegen: Das Speichern schlug fehl, sobald ein Zahlungsziel gesetzt war (#122)
  • Das DATEV-„gesendet"-Symbol in der Rechnungsliste wird nur noch angezeigt, wenn die DATEV-/IMAP-Anbindung eingerichtet ist. Ohne IMAP-Konfiguration lief der automatische Abgleich ohnehin nie, sodass der Status sonst dauerhaft ohne Wirkung sichtbar blieb (#127)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureJELX2endgOdkGdfh2w6fY8wd4eys440C0bemzaAVBhxT4m0sRnRYECDZMoUSv69nz6V5VOe5hTgg3l2bGFh0bzBJ0ucovrtDhy9+XXeLJUHTIgw+f/6R8OG6t+GrsJAglZMCgr1adEUMfhBa+bh09eNyPgvVQ8Jxqj0J7a99PIFQdhimYN+K4MscgCf820b/wFX1zUhT+4WxzXor9rl1Iw07q+4EZiBlT1sESS3dPvNcPYM94uyijiCa3kC+EhA4XiKXr/HkIQmLk0Plor+mQv/Gh0V9M6OkFOdOzNAUwxuDa8X2eWYUIPbE9P4bV/83gogZpUZIDMDUj4grSfB3Aw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.6
Release Details
UpdatedJuly 13, 2026, 8:39 a.m.
Changelog

Fixed

  • App-Installation auf Nextcloud 31 und 32 schlug fehl mit „Primary index name on 'oc_rechnungswerk_invoice_item' is too long". Die unterstützten Datenbanken (SQLite/MySQL/PostgreSQL) sind jetzt in der info.xml deklariert, wodurch Nextclouds Oracle-Namenslimit-Prüfung nicht mehr greift (#118)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturekXawEvTMN/MEksp8u2OB6KxiDpbGNZvPhivMAU2DbRzqmBrGxilRgMUJb6EExxAwJ6DU91Y/qU4iZy8FX1mqzd1ANjXFImD8bG43peKgDcAJwtQyFD/IQ1s9q9wNFNL2qjeTB9VcYDaGatAXLVE9W8zdFuJiqNNKGjcU190vB/S/i6SQgMryNKZrH87Pdd02ADgWcKIi3KyYjr3VvTruaiIrbRv3LgSns9UTXtUcpyvYKdWXQPsj1uc1tY5JpZGwKIOc4VHlxhSWXyTIPOvi5rZle2uVPsyBFT5iz48e+D8WIYidgyY5t2jaoLt7djJcYENcNAbcyz3s7BTmtC/84Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.5
Release Details
UpdatedJuly 11, 2026, 6:33 p.m.
Changelog

Added

  • Neue Referenzfelder auf der Rechnung: Vertragsnummer (BT-12) und Objekt-/Projektkennung (BT-18). Beide stehen strukturiert im E-Rechnungs-XML und als Meta-Zeilen im PDF (#41)
  • Notizen/Hinweise auf der Rechnung: frei formulierbare Textzeilen, sichtbar im PDF und als Notiz (BT-22) im E-Rechnungs-XML (#41)

Changed

  • Anrede/Einleitung und Schlusstext stehen jetzt auch im E-Rechnungs-XML (BT-22) und nicht mehr nur im PDF (#41)
  • Stornobelege übernehmen die Referenzen der Originalrechnung (Bestell-, Referenz-, Vertragsnummer, Leitweg-ID, Objektkennung)
  • Generische freie Felder (Key-Value) werden nicht weiterverfolgt; bestehende Einträge bleiben als Notizen lesbar (#41)

Fixed

  • Rechnungseditor übernimmt beim Wechsel von einer Rechnung zu „Neue Rechnung" keinen alten Formularzustand mehr (#109)
  • Esc schließt Modals auch dann, wenn der Fokus in einem Eingabefeld liegt (#107)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturefjPXXKL3vvb63vSpX/J8RT/tRxS0jbZyE8Sg8WN1xKKtQOZZxdQTFalX7Din8u8akVxvXup2V91d3GLfhB9x1yqNvZGRVa4kggAduDoCeO/IR6vVZxKweFw1X8KAo0Wt4ph1s7aQs8kMdsEQCfzBtwtORXG9hmmj4KUmvIWQpw9ipTvf14XvA60KEitNQf/VGSAxVIlowcq1bgvXf9CrOYMBRo7slEBcucL8fN9jfw3QgV0StjK5iemBpAJg/hMMnMhdgkSXkfEczisnVwe8u8vuz9bMXMIWhAQFWjT89IECY2UW4Lcv4Ai3A+7/tUk4b6W3pfOVggfOUTm54yeJ0w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.4
Release Details
UpdatedJuly 11, 2026, 10:53 a.m.
Changelog

Added

  • Rechnungsvorschau für Entwürfe: Vorschau-Button im Editor zeigt das PDF vor dem Festschreiben. Deutlich als ENTWURF gekennzeichnet (Wasserzeichen, Banner, ohne E-Rechnungs-XML) (#94)
  • Konfigurierbares Dateinamen-Schema für erzeugte PDFs mit Platzhaltern {nummer}, {YYYY}/{MM}/{DD}, {kunde}, {typ}. Gilt einheitlich für Download, Kundenmail und DATEV-Mail, mit Live-Vorschau in den Einstellungen (#37)
  • Automatische Ablage festgeschriebener Rechnungen (inkl. Stornos) in einen Nextcloud-Ordner (auch Team-/Gruppenordner), optional mit Jahres-Unterordnern; Komfort-Ablage, kein revisionssicheres Archiv (#38)
  • Girocode: optionaler EPC-Bezahl-QR-Code (EPC069-12) neben der Bankverbindung. Banking-Apps übernehmen Empfänger, Betrag und Verwendungszweck automatisch; nie auf Stornos oder Entwurfs-Vorschauen (#79)

Changed

  • Neue Runtime-Abhängigkeit bacon/bacon-qr-code für das QR-Rendering
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureLZo7cCep3E7ce/8lmUohIZa6LI36+uaqF2y6wFukPeVjvCSxwqO84q3869FFhmq8QLYJUrysSHhVopd+5ULUtoeZ2CVUQwoKq09+BFTuxQPFRkeE9cwH94Rrp0tXCapDhEBgLaS3PEZYd4tMMzZw7Av7WwA89hH8Fy3b7JnVBk6LsZg5saPchA6ViX6Y+DW5wYHdYdp2wvZHhv9+FgMJrd19Q3n3n7dJ6XK89FUb5/Z/3K09+R0mkck7A0N2iR56C/sQr12tMPeEkyqlg+Bj3x7BVmDmawpSnwFI86TCTmvn5E5ehK0BrYufQlKuDkSgg48yRNRrldNnQ03M5Vtr/w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.3
Release Details
UpdatedJuly 8, 2026, 7:11 a.m.
Changelog

Added

  • Nummernkreis-Modus: fortlaufend über Jahre vs. jährlicher Reset, umschaltbar in den Einstellungen (#39)
  • Persönlicher Bereich „Mein Kontakt": eigener Verkäufer-Ansprechpartner pro Nutzer, füllt neue Rechnungen automatisch vor (#47)
  • Einheit „Monat" für Rechnungspositionen (#76)

Fixed

  • Kontakt-E-Mail aus den Einstellungen wird auf Rechnung und E-Rechnung korrekt verwendet, statt der Nextcloud-Konto-Mail (#86)
  • Rechnungstexte: Einleitung erscheint wieder, Schlusstext steht genau einmal unten (keine Dopplung, korrekte Platzierung) (#76)

Security

  • Sicherheitsupdates der Frontend-Abhängigkeiten: dompurify, js-yaml, vite/esbuild (Advisories behoben, npm audit clean)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureGfdVd7F79t0qMXZuq31SJd3IWVykZfSbU5B9eC01Vga/lkUfdvctqYcBv3YR+xoJIr6Lpg9Ax9e+yiaf4kT3RlEJatRcezHnNUNn9+YNEionm8Wzt0y7/sJI2BlmR2aFOS9ConZWSUPO/pPyIPJwN5fWz9+k935pHNWM9eEzyEAoQ1P+xTI6kqyNu1g3I6X5mVgw6CkovFYMc3zm0Swlxvln6H/4QNQPWaJ1SY8vobqTEmkJjjKEDbZf3rvHaxUNOHoQPb1XzUio5YPZrDG8MoYCoRJEHt9oURYtAUzN+yPXN2PzmUUDqgcQ0sidv5buYMJqOTOZesQUmFQCAd+WMQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.2
Release Details
UpdatedJuly 6, 2026, 3:39 a.m.
Changelog

Added

  • Nextcloud 34 wird unterstützt (max-version auf 34 angehoben)
  • Kundenverwaltung: eigene Customer-Entität mit Erfassung, Bearbeitung und Übernahme in die Rechnung

Fixed

  • Storno als rechtssichere E-Rechnung: Korrekturrechnung mit typeCode 384 und negativen Beträgen (EN16931 / §14c UStG), Referenz auf die stornierte Rechnung (BT-25/BT-26); Beleg heißt „Stornorechnung" statt „Gutschrift" (#64, #65)
  • Storno-Dialog eindeutig beschriftet, doppeltes „Cancel" behoben (#64)
  • DATEV-Rückkanal (IMAP): RFC-2047-Q-Encoding wird versionsstabil dekodiert (PHP 8.2)

Changed

  • DATEV-Rückkanal nutzt einen eigenen schlanken IMAP-Client statt webklex/php-imap (deutlich kleineres Release, unter dem App-Store-Größenlimit) (#51)
  • Anzeigename und Marken-Strings durchgängig auf „RechnungsWerk" vereinheitlicht
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturemUXJDuNe+Tilo+dpUr+E737GyLaklc1NJcW9vzLpYYhWaLd+43FFRC5Cv9YyDKJsxPf0C12O19vw9sBfNxxv/UfPsEDc+ltMnmDebp0mCwsusHBF4M3CODsrB/NKrodV/oj8p0z/q43TZzYPdQZ3AzqryUrQVIGvAug2znoDd89J6uhroEDGsLoxDrj6cgpN8Y5e3MFy1wqvirArLewEDS7CmkOXhX4vLTNu/DddQvQmCWp6nlFUmG90koD05VwSCRw3FP+uuig71l4q+giN07sNEb/WqWx00y4aZ//6Svm+MbZcBEeZCvoBbl/gEAgBLSIND8hnPxkeJ61H2B9syQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 33

RechnungsWerk 0.2.0
Release Details
UpdatedJuly 18, 2026, 7:55 a.m.
Changelog

Added

  • Angebote: Angebote mit eigenem Nummernkreis erstellen, festschreiben und als PDF versenden. Ein eigener Menüpunkt „Angebote" führt zu einer eigenen Liste mit Status (Offen, Abgelaufen, Angenommen, Abgelehnt, Übernommen, Revidiert). Angebote haben ein „Gültig bis"-Datum (§ 148 BGB) und eine optionale Freibleibend-Kennzeichnung (§ 145 BGB), die als Hinweis auf dem PDF erscheint. Der Angebots-Nummernkreis (Standard AN-{YYYY}-{####}) ist in den Einstellungen unabhängig von den Rechnungen konfigurierbar (#111)
  • In Rechnung übernehmen: ein festgeschriebenes Angebot lässt sich per Knopfdruck in einen neuen Rechnungs-Entwurf überführen – Positionen und Empfänger werden übernommen, die Rechnung referenziert die Angebotsnummer, das Angebot wird als „übernommen" markiert (#111)
  • Angebot revidieren: aus einem festgeschriebenen Angebot lässt sich eine überarbeitbare Revision erstellen. Sie erhält beim Festschreiben eine Revisionsnummer (AN-…-1, -2, …), das Ursprungsangebot wird als „revidiert" markiert (#111)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureSut+zU8cXNarPEIMOdjzO6Vyt3zPfCjSliR6aqSC+JHI+CIm8DlB/lyeDsWuCLaG9K6AQ/43KaiWW1I9f4kqWlUU6t2sBnkafY9FC1F4Sl8j8Ku63t9rBmi9jpLaV5S4Lu6R4Tu8QzRF4ozFDnw9bB2N3+gRl5YfuAzAQa49q67qe+C5wN9ietNZoHicl1l5q9tpNuAs+Q2t9lva8OBNToqR1sKLjVdb3saAG1U+4MrmPTPz0EsU8vGo7oD3agYndSw9RaeXbxMTuDMSHSbLCOZEVf5P9Ns594IwKZ5JsAbCEkvtMQl64vKY7+SWLojj7+p3b7e31Wkhc/XUVmvIgg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.8
Release Details
UpdatedJuly 17, 2026, 8:28 a.m.
Changelog

Added

  • Zahlungsstatus verfolgen: Rechnungen lassen sich in der Liste als bezahlt markieren; der Status (offen, überfällig, bezahlt) ist auf einen Blick sichtbar – überfällige Rechnungen sind hervorgehoben, bezahlte gedämpft dargestellt. Eine Filterleiste (Alle/Offen/Überfällig/Bezahlt) zeigt zusätzlich die Summe der offenen Beträge. Ein Standard-Zahlungsziel in den Einstellungen belegt neue Rechnungen vor (#117)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturesXhEzBMcXpQoQRWbU5Ky7yfzsZEyH5Ll1kI7EJKXftrcsmh1YwvMGgtcbOfeFsPO6mrbq/jzFYuX2lWJazredJEeLSSspQeHTvcuCXSY4ne25hOpuVtTux7bD8fJLGAiyQSvuJzGWXfwp6TSlTM0wdlU1TyLdR8w/dWyVLsQf9367mbQE3yfefnI0CT1G0u+TTPQsDMiy0Ua5njgIJRhpl6giGwn9pjDzIJ5OmYDkdm70c7rFDS1VqUoXAvMo9oEjJthD2UQhoBQY0A+iHk4b8aRgsn6zbBTSxj+NcOA0Qk0ZeYspQJ4oRbSUT5DymHnREzSLMq9n0n17dM3R2TnVw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.7
Release Details
UpdatedJuly 15, 2026, 7:51 p.m.
Changelog

Added

  • Rechnung duplizieren: eine bestehende Rechnung lässt sich per Knopfdruck in der Rechnungsliste als Vorlage für eine neue, bearbeitbare Rechnung übernehmen. Empfänger, Positionen, Referenzen, Notizen und Textbausteine werden kopiert; die neue Rechnung startet als Entwurf ohne Nummer. Stornobelege sind davon ausgenommen (#124)

Fixed

  • Kunde anlegen: Das Speichern schlug fehl, sobald ein Zahlungsziel gesetzt war (#122)
  • Das DATEV-„gesendet"-Symbol in der Rechnungsliste wird nur noch angezeigt, wenn die DATEV-/IMAP-Anbindung eingerichtet ist. Ohne IMAP-Konfiguration lief der automatische Abgleich ohnehin nie, sodass der Status sonst dauerhaft ohne Wirkung sichtbar blieb (#127)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureJELX2endgOdkGdfh2w6fY8wd4eys440C0bemzaAVBhxT4m0sRnRYECDZMoUSv69nz6V5VOe5hTgg3l2bGFh0bzBJ0ucovrtDhy9+XXeLJUHTIgw+f/6R8OG6t+GrsJAglZMCgr1adEUMfhBa+bh09eNyPgvVQ8Jxqj0J7a99PIFQdhimYN+K4MscgCf820b/wFX1zUhT+4WxzXor9rl1Iw07q+4EZiBlT1sESS3dPvNcPYM94uyijiCa3kC+EhA4XiKXr/HkIQmLk0Plor+mQv/Gh0V9M6OkFOdOzNAUwxuDa8X2eWYUIPbE9P4bV/83gogZpUZIDMDUj4grSfB3Aw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.6
Release Details
UpdatedJuly 13, 2026, 8:39 a.m.
Changelog

Fixed

  • App-Installation auf Nextcloud 31 und 32 schlug fehl mit „Primary index name on 'oc_rechnungswerk_invoice_item' is too long". Die unterstützten Datenbanken (SQLite/MySQL/PostgreSQL) sind jetzt in der info.xml deklariert, wodurch Nextclouds Oracle-Namenslimit-Prüfung nicht mehr greift (#118)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturekXawEvTMN/MEksp8u2OB6KxiDpbGNZvPhivMAU2DbRzqmBrGxilRgMUJb6EExxAwJ6DU91Y/qU4iZy8FX1mqzd1ANjXFImD8bG43peKgDcAJwtQyFD/IQ1s9q9wNFNL2qjeTB9VcYDaGatAXLVE9W8zdFuJiqNNKGjcU190vB/S/i6SQgMryNKZrH87Pdd02ADgWcKIi3KyYjr3VvTruaiIrbRv3LgSns9UTXtUcpyvYKdWXQPsj1uc1tY5JpZGwKIOc4VHlxhSWXyTIPOvi5rZle2uVPsyBFT5iz48e+D8WIYidgyY5t2jaoLt7djJcYENcNAbcyz3s7BTmtC/84Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.5
Release Details
UpdatedJuly 11, 2026, 6:33 p.m.
Changelog

Added

  • Neue Referenzfelder auf der Rechnung: Vertragsnummer (BT-12) und Objekt-/Projektkennung (BT-18). Beide stehen strukturiert im E-Rechnungs-XML und als Meta-Zeilen im PDF (#41)
  • Notizen/Hinweise auf der Rechnung: frei formulierbare Textzeilen, sichtbar im PDF und als Notiz (BT-22) im E-Rechnungs-XML (#41)

Changed

  • Anrede/Einleitung und Schlusstext stehen jetzt auch im E-Rechnungs-XML (BT-22) und nicht mehr nur im PDF (#41)
  • Stornobelege übernehmen die Referenzen der Originalrechnung (Bestell-, Referenz-, Vertragsnummer, Leitweg-ID, Objektkennung)
  • Generische freie Felder (Key-Value) werden nicht weiterverfolgt; bestehende Einträge bleiben als Notizen lesbar (#41)

Fixed

  • Rechnungseditor übernimmt beim Wechsel von einer Rechnung zu „Neue Rechnung" keinen alten Formularzustand mehr (#109)
  • Esc schließt Modals auch dann, wenn der Fokus in einem Eingabefeld liegt (#107)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturefjPXXKL3vvb63vSpX/J8RT/tRxS0jbZyE8Sg8WN1xKKtQOZZxdQTFalX7Din8u8akVxvXup2V91d3GLfhB9x1yqNvZGRVa4kggAduDoCeO/IR6vVZxKweFw1X8KAo0Wt4ph1s7aQs8kMdsEQCfzBtwtORXG9hmmj4KUmvIWQpw9ipTvf14XvA60KEitNQf/VGSAxVIlowcq1bgvXf9CrOYMBRo7slEBcucL8fN9jfw3QgV0StjK5iemBpAJg/hMMnMhdgkSXkfEczisnVwe8u8vuz9bMXMIWhAQFWjT89IECY2UW4Lcv4Ai3A+7/tUk4b6W3pfOVggfOUTm54yeJ0w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.4
Release Details
UpdatedJuly 11, 2026, 10:53 a.m.
Changelog

Added

  • Rechnungsvorschau für Entwürfe: Vorschau-Button im Editor zeigt das PDF vor dem Festschreiben. Deutlich als ENTWURF gekennzeichnet (Wasserzeichen, Banner, ohne E-Rechnungs-XML) (#94)
  • Konfigurierbares Dateinamen-Schema für erzeugte PDFs mit Platzhaltern {nummer}, {YYYY}/{MM}/{DD}, {kunde}, {typ}. Gilt einheitlich für Download, Kundenmail und DATEV-Mail, mit Live-Vorschau in den Einstellungen (#37)
  • Automatische Ablage festgeschriebener Rechnungen (inkl. Stornos) in einen Nextcloud-Ordner (auch Team-/Gruppenordner), optional mit Jahres-Unterordnern; Komfort-Ablage, kein revisionssicheres Archiv (#38)
  • Girocode: optionaler EPC-Bezahl-QR-Code (EPC069-12) neben der Bankverbindung. Banking-Apps übernehmen Empfänger, Betrag und Verwendungszweck automatisch; nie auf Stornos oder Entwurfs-Vorschauen (#79)

Changed

  • Neue Runtime-Abhängigkeit bacon/bacon-qr-code für das QR-Rendering
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureLZo7cCep3E7ce/8lmUohIZa6LI36+uaqF2y6wFukPeVjvCSxwqO84q3869FFhmq8QLYJUrysSHhVopd+5ULUtoeZ2CVUQwoKq09+BFTuxQPFRkeE9cwH94Rrp0tXCapDhEBgLaS3PEZYd4tMMzZw7Av7WwA89hH8Fy3b7JnVBk6LsZg5saPchA6ViX6Y+DW5wYHdYdp2wvZHhv9+FgMJrd19Q3n3n7dJ6XK89FUb5/Z/3K09+R0mkck7A0N2iR56C/sQr12tMPeEkyqlg+Bj3x7BVmDmawpSnwFI86TCTmvn5E5ehK0BrYufQlKuDkSgg48yRNRrldNnQ03M5Vtr/w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.3
Release Details
UpdatedJuly 8, 2026, 7:11 a.m.
Changelog

Added

  • Nummernkreis-Modus: fortlaufend über Jahre vs. jährlicher Reset, umschaltbar in den Einstellungen (#39)
  • Persönlicher Bereich „Mein Kontakt": eigener Verkäufer-Ansprechpartner pro Nutzer, füllt neue Rechnungen automatisch vor (#47)
  • Einheit „Monat" für Rechnungspositionen (#76)

Fixed

  • Kontakt-E-Mail aus den Einstellungen wird auf Rechnung und E-Rechnung korrekt verwendet, statt der Nextcloud-Konto-Mail (#86)
  • Rechnungstexte: Einleitung erscheint wieder, Schlusstext steht genau einmal unten (keine Dopplung, korrekte Platzierung) (#76)

Security

  • Sicherheitsupdates der Frontend-Abhängigkeiten: dompurify, js-yaml, vite/esbuild (Advisories behoben, npm audit clean)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureGfdVd7F79t0qMXZuq31SJd3IWVykZfSbU5B9eC01Vga/lkUfdvctqYcBv3YR+xoJIr6Lpg9Ax9e+yiaf4kT3RlEJatRcezHnNUNn9+YNEionm8Wzt0y7/sJI2BlmR2aFOS9ConZWSUPO/pPyIPJwN5fWz9+k935pHNWM9eEzyEAoQ1P+xTI6kqyNu1g3I6X5mVgw6CkovFYMc3zm0Swlxvln6H/4QNQPWaJ1SY8vobqTEmkJjjKEDbZf3rvHaxUNOHoQPb1XzUio5YPZrDG8MoYCoRJEHt9oURYtAUzN+yPXN2PzmUUDqgcQ0sidv5buYMJqOTOZesQUmFQCAd+WMQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.2
Release Details
UpdatedJuly 6, 2026, 3:39 a.m.
Changelog

Added

  • Nextcloud 34 wird unterstützt (max-version auf 34 angehoben)
  • Kundenverwaltung: eigene Customer-Entität mit Erfassung, Bearbeitung und Übernahme in die Rechnung

Fixed

  • Storno als rechtssichere E-Rechnung: Korrekturrechnung mit typeCode 384 und negativen Beträgen (EN16931 / §14c UStG), Referenz auf die stornierte Rechnung (BT-25/BT-26); Beleg heißt „Stornorechnung" statt „Gutschrift" (#64, #65)
  • Storno-Dialog eindeutig beschriftet, doppeltes „Cancel" behoben (#64)
  • DATEV-Rückkanal (IMAP): RFC-2047-Q-Encoding wird versionsstabil dekodiert (PHP 8.2)

Changed

  • DATEV-Rückkanal nutzt einen eigenen schlanken IMAP-Client statt webklex/php-imap (deutlich kleineres Release, unter dem App-Store-Größenlimit) (#51)
  • Anzeigename und Marken-Strings durchgängig auf „RechnungsWerk" vereinheitlicht
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturemUXJDuNe+Tilo+dpUr+E737GyLaklc1NJcW9vzLpYYhWaLd+43FFRC5Cv9YyDKJsxPf0C12O19vw9sBfNxxv/UfPsEDc+ltMnmDebp0mCwsusHBF4M3CODsrB/NKrodV/oj8p0z/q43TZzYPdQZ3AzqryUrQVIGvAug2znoDd89J6uhroEDGsLoxDrj6cgpN8Y5e3MFy1wqvirArLewEDS7CmkOXhX4vLTNu/DddQvQmCWp6nlFUmG90koD05VwSCRw3FP+uuig71l4q+giN07sNEb/WqWx00y4aZ//6Svm+MbZcBEeZCvoBbl/gEAgBLSIND8hnPxkeJ61H2B9syQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.1
Release Details
UpdatedJune 25, 2026, 10:18 p.m.
Changelog

Added

  • Spendenlink (Ko-fi) in der App-Beschreibung / im App Store
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureTxuswNGbBYWD5c3Hb/XPAXczbWJGBIbZwCyLuvyWrf68iUvry5vpM98jxZ/HOO6UjERHUcOvR4mboa22aiL4gE18m4V9fEuH09pTmPQuZRCJfJNpDsERvpanhuiKB2G/vIFnVRPTnscKIQj9AEOBziIrhpmXehB/UDtvGfjg5GqRrV7OUu+I5fPztg/Mc1gHnZ7cdwpKY2ERscmXqNzXzfQND0yJKmVQ2mKMBRpspv/opYBqPvPdFcmirSMqkDu6MpjusT6o3Mr1oVzcMvByvz16YDF7lffgYRaYe8ZMLURRRfLYf349mIaZh02K6khJG41Kf6zU9745KXNYTkAnKA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.0
Release Details
UpdatedJune 25, 2026, 3:39 p.m.
Changelog

Erster öffentlicher Release im Nextcloud App Store. Rechnungen und E-Rechnungen (ZUGFeRD/EN16931) erstellen, an Kunden versenden und automatisch an DATEV übergeben.

Added

  • E-Rechnung (ZUGFeRD/EN16931): CII-XML + branded PDF/A-3 (ZugferdService), vollständiger Feldexport — Leistungsdatum/-zeitraum (BT-72/BG-14), Bestell-/Referenznummern (BT-13/14), Verkäufer-/Käufer-Ansprechpartner (BG-6/BG-9), USt-Sonderfälle (Reverse-Charge, innergemeinschaftlich, Ausfuhr)
  • DATEV-Übergabe: automatischer E-Mail-Versand der ZUGFeRD-PDF an die DATEV-Upload-Mail beim Festschreiben und beim Stornieren; optionales eigenes SMTP-Konto
  • DATEV-Rückkanal (IMAP): Background-Job wertet Empfangsbestätigungen aus (In-Reply-To-Matching), Status gesendet → bestätigt; optionaler Papierkorb-Cleanup bestätigter Quittungen (Admin-Einstellung, Default aus)
  • Verkäufer-Ansprechpartner pro Rechnung (Kaskade Rechnung → NC-Konto → Firmenkontakt)
  • Status-Anzeige als flache Icons + Legende in Liste und Editor; Einstellungen in der Navigation unten links (NC-Konvention)
  • Zahlungsbedingungen (It. 4a): Zahlungsziel (Tage), automatisch berechnetes Fälligkeitsdatum beim Festschreiben und Skonto-Hinweis — Migration v0.1.1 (payment_term_days, due_date, discount_terms) + Editor-Sektion
  • Rechnungs-Editor + Liste (It. 3): InvoicesView mit Status-Chips und InvoiceEditorView (Rechnungsdaten · Empfänger · Positionen · Steuer&Summen · Texte)
  • Editierbare Positionstabelle mit Live-Summen + USt-Aufschlüsselung (Client-Vorschau, Server autoritativ), Produkt-Übernahme aus dem Katalog, §19-konforme 0%-Erzwingung
  • Empfänger-Auswahl aus Nextcloud-Kontakten (ContactController + OCP\Contacts\IManager) mit Tipp-Vorschlägen und Auto-Befüllung
  • Lifecycle in der UI: Entwurf speichern → Festschreiben (Bestätigung, endgültige Nummer, read-only) → Stornieren (Stornobeleg)
  • l10n de/en erweitert (120 Keys)

Added (frühere Iterationen)

  • Stammdaten + Produktkatalog (It. 2): ProductService/ProductController (/api/v1/products CRUD) und SettingsController (/api/v1/settings)
  • Frontend ProductsView (Tabelle + Editor-Modal) und SettingsView (gegliedertes Formular: Firma/Bank/Branding/Nummernkreis/Steuer/Versand/Standardtexte) mit §19-Bestätigungsdialog und Live-Vorschau der Rechnungsnummer
  • Pinia-Stores, typisierter API-Client, Geld-Helfer (Cent↔€), l10n de/en
  • Unit-Tests für ProductService
  • (Logo-Auswahl via NC-Files-Picker bewusst auf It. 4 / PDF-Branding verschoben)
  • Initiale App-Grundstruktur (Vue 3 + Vite + @nextcloud/vue 9, PHP 8.2 OCP)
  • App-Navigation mit Platzhalter-Views: Rechnungen, Produkte, Einstellungen
  • Datenmodell + Persistenz-Schicht: Entities/Mapper für Invoice, InvoiceItem, Product, Settings (Geld in Cents, Steuer in Basispunkten, owner-scoped)
  • DB-Migration v0.1.0 (4 Tabellen)
  • InvoiceCalculator (Zeilensummen, Steueraufschlüsselung pro Satzgruppe, Rechnungsnummern-Formatierung) mit Unit-Tests
  • InvoiceService mit Lifecycle (Entwurf → Festschreiben → Storno) und SettingsService (per-Owner-Stammdaten, jahresbasierter Nummernkreis)
  • REST-API /api/v1/invoices (CRUD + /commit, /cancel)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureHSEU9FkRh3w5EkQS8knKf2Odr2rIzhq8NqjYmzgijhzpFtIDq3XM1Cs5+cUyKzgGJf1497jAmVwwUb9QS3aCURWoCPBWcoZy2HOqy5V9jdhNgF5r1+hzZrYZvwKkriR4gyZAtM4WnB1t9syVYBQ3E87/8kdHwNKK9hqbZh5Hf61ovhWn0A8Q9i5+A9FK79M1zP/JX+mHio4QAxIVIcbjmmG+MDPsugayfIGmBEYvQCxFqeruOoizXwnbCg2CSqtEK5PxtmJPklZI53+TuLvDaXHNuCQO7QYlCRNQHixoZzWWJj4ap0KKf3KF23UiiKG9ncPIbD7z1Z0tu2KizTX9Qw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 32

RechnungsWerk 0.2.0
Release Details
UpdatedJuly 18, 2026, 7:55 a.m.
Changelog

Added

  • Angebote: Angebote mit eigenem Nummernkreis erstellen, festschreiben und als PDF versenden. Ein eigener Menüpunkt „Angebote" führt zu einer eigenen Liste mit Status (Offen, Abgelaufen, Angenommen, Abgelehnt, Übernommen, Revidiert). Angebote haben ein „Gültig bis"-Datum (§ 148 BGB) und eine optionale Freibleibend-Kennzeichnung (§ 145 BGB), die als Hinweis auf dem PDF erscheint. Der Angebots-Nummernkreis (Standard AN-{YYYY}-{####}) ist in den Einstellungen unabhängig von den Rechnungen konfigurierbar (#111)
  • In Rechnung übernehmen: ein festgeschriebenes Angebot lässt sich per Knopfdruck in einen neuen Rechnungs-Entwurf überführen – Positionen und Empfänger werden übernommen, die Rechnung referenziert die Angebotsnummer, das Angebot wird als „übernommen" markiert (#111)
  • Angebot revidieren: aus einem festgeschriebenen Angebot lässt sich eine überarbeitbare Revision erstellen. Sie erhält beim Festschreiben eine Revisionsnummer (AN-…-1, -2, …), das Ursprungsangebot wird als „revidiert" markiert (#111)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureSut+zU8cXNarPEIMOdjzO6Vyt3zPfCjSliR6aqSC+JHI+CIm8DlB/lyeDsWuCLaG9K6AQ/43KaiWW1I9f4kqWlUU6t2sBnkafY9FC1F4Sl8j8Ku63t9rBmi9jpLaV5S4Lu6R4Tu8QzRF4ozFDnw9bB2N3+gRl5YfuAzAQa49q67qe+C5wN9ietNZoHicl1l5q9tpNuAs+Q2t9lva8OBNToqR1sKLjVdb3saAG1U+4MrmPTPz0EsU8vGo7oD3agYndSw9RaeXbxMTuDMSHSbLCOZEVf5P9Ns594IwKZ5JsAbCEkvtMQl64vKY7+SWLojj7+p3b7e31Wkhc/XUVmvIgg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.8
Release Details
UpdatedJuly 17, 2026, 8:28 a.m.
Changelog

Added

  • Zahlungsstatus verfolgen: Rechnungen lassen sich in der Liste als bezahlt markieren; der Status (offen, überfällig, bezahlt) ist auf einen Blick sichtbar – überfällige Rechnungen sind hervorgehoben, bezahlte gedämpft dargestellt. Eine Filterleiste (Alle/Offen/Überfällig/Bezahlt) zeigt zusätzlich die Summe der offenen Beträge. Ein Standard-Zahlungsziel in den Einstellungen belegt neue Rechnungen vor (#117)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturesXhEzBMcXpQoQRWbU5Ky7yfzsZEyH5Ll1kI7EJKXftrcsmh1YwvMGgtcbOfeFsPO6mrbq/jzFYuX2lWJazredJEeLSSspQeHTvcuCXSY4ne25hOpuVtTux7bD8fJLGAiyQSvuJzGWXfwp6TSlTM0wdlU1TyLdR8w/dWyVLsQf9367mbQE3yfefnI0CT1G0u+TTPQsDMiy0Ua5njgIJRhpl6giGwn9pjDzIJ5OmYDkdm70c7rFDS1VqUoXAvMo9oEjJthD2UQhoBQY0A+iHk4b8aRgsn6zbBTSxj+NcOA0Qk0ZeYspQJ4oRbSUT5DymHnREzSLMq9n0n17dM3R2TnVw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.7
Release Details
UpdatedJuly 15, 2026, 7:51 p.m.
Changelog

Added

  • Rechnung duplizieren: eine bestehende Rechnung lässt sich per Knopfdruck in der Rechnungsliste als Vorlage für eine neue, bearbeitbare Rechnung übernehmen. Empfänger, Positionen, Referenzen, Notizen und Textbausteine werden kopiert; die neue Rechnung startet als Entwurf ohne Nummer. Stornobelege sind davon ausgenommen (#124)

Fixed

  • Kunde anlegen: Das Speichern schlug fehl, sobald ein Zahlungsziel gesetzt war (#122)
  • Das DATEV-„gesendet"-Symbol in der Rechnungsliste wird nur noch angezeigt, wenn die DATEV-/IMAP-Anbindung eingerichtet ist. Ohne IMAP-Konfiguration lief der automatische Abgleich ohnehin nie, sodass der Status sonst dauerhaft ohne Wirkung sichtbar blieb (#127)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureJELX2endgOdkGdfh2w6fY8wd4eys440C0bemzaAVBhxT4m0sRnRYECDZMoUSv69nz6V5VOe5hTgg3l2bGFh0bzBJ0ucovrtDhy9+XXeLJUHTIgw+f/6R8OG6t+GrsJAglZMCgr1adEUMfhBa+bh09eNyPgvVQ8Jxqj0J7a99PIFQdhimYN+K4MscgCf820b/wFX1zUhT+4WxzXor9rl1Iw07q+4EZiBlT1sESS3dPvNcPYM94uyijiCa3kC+EhA4XiKXr/HkIQmLk0Plor+mQv/Gh0V9M6OkFOdOzNAUwxuDa8X2eWYUIPbE9P4bV/83gogZpUZIDMDUj4grSfB3Aw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.6
Release Details
UpdatedJuly 13, 2026, 8:39 a.m.
Changelog

Fixed

  • App-Installation auf Nextcloud 31 und 32 schlug fehl mit „Primary index name on 'oc_rechnungswerk_invoice_item' is too long". Die unterstützten Datenbanken (SQLite/MySQL/PostgreSQL) sind jetzt in der info.xml deklariert, wodurch Nextclouds Oracle-Namenslimit-Prüfung nicht mehr greift (#118)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturekXawEvTMN/MEksp8u2OB6KxiDpbGNZvPhivMAU2DbRzqmBrGxilRgMUJb6EExxAwJ6DU91Y/qU4iZy8FX1mqzd1ANjXFImD8bG43peKgDcAJwtQyFD/IQ1s9q9wNFNL2qjeTB9VcYDaGatAXLVE9W8zdFuJiqNNKGjcU190vB/S/i6SQgMryNKZrH87Pdd02ADgWcKIi3KyYjr3VvTruaiIrbRv3LgSns9UTXtUcpyvYKdWXQPsj1uc1tY5JpZGwKIOc4VHlxhSWXyTIPOvi5rZle2uVPsyBFT5iz48e+D8WIYidgyY5t2jaoLt7djJcYENcNAbcyz3s7BTmtC/84Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.5
Release Details
UpdatedJuly 11, 2026, 6:33 p.m.
Changelog

Added

  • Neue Referenzfelder auf der Rechnung: Vertragsnummer (BT-12) und Objekt-/Projektkennung (BT-18). Beide stehen strukturiert im E-Rechnungs-XML und als Meta-Zeilen im PDF (#41)
  • Notizen/Hinweise auf der Rechnung: frei formulierbare Textzeilen, sichtbar im PDF und als Notiz (BT-22) im E-Rechnungs-XML (#41)

Changed

  • Anrede/Einleitung und Schlusstext stehen jetzt auch im E-Rechnungs-XML (BT-22) und nicht mehr nur im PDF (#41)
  • Stornobelege übernehmen die Referenzen der Originalrechnung (Bestell-, Referenz-, Vertragsnummer, Leitweg-ID, Objektkennung)
  • Generische freie Felder (Key-Value) werden nicht weiterverfolgt; bestehende Einträge bleiben als Notizen lesbar (#41)

Fixed

  • Rechnungseditor übernimmt beim Wechsel von einer Rechnung zu „Neue Rechnung" keinen alten Formularzustand mehr (#109)
  • Esc schließt Modals auch dann, wenn der Fokus in einem Eingabefeld liegt (#107)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturefjPXXKL3vvb63vSpX/J8RT/tRxS0jbZyE8Sg8WN1xKKtQOZZxdQTFalX7Din8u8akVxvXup2V91d3GLfhB9x1yqNvZGRVa4kggAduDoCeO/IR6vVZxKweFw1X8KAo0Wt4ph1s7aQs8kMdsEQCfzBtwtORXG9hmmj4KUmvIWQpw9ipTvf14XvA60KEitNQf/VGSAxVIlowcq1bgvXf9CrOYMBRo7slEBcucL8fN9jfw3QgV0StjK5iemBpAJg/hMMnMhdgkSXkfEczisnVwe8u8vuz9bMXMIWhAQFWjT89IECY2UW4Lcv4Ai3A+7/tUk4b6W3pfOVggfOUTm54yeJ0w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.4
Release Details
UpdatedJuly 11, 2026, 10:53 a.m.
Changelog

Added

  • Rechnungsvorschau für Entwürfe: Vorschau-Button im Editor zeigt das PDF vor dem Festschreiben. Deutlich als ENTWURF gekennzeichnet (Wasserzeichen, Banner, ohne E-Rechnungs-XML) (#94)
  • Konfigurierbares Dateinamen-Schema für erzeugte PDFs mit Platzhaltern {nummer}, {YYYY}/{MM}/{DD}, {kunde}, {typ}. Gilt einheitlich für Download, Kundenmail und DATEV-Mail, mit Live-Vorschau in den Einstellungen (#37)
  • Automatische Ablage festgeschriebener Rechnungen (inkl. Stornos) in einen Nextcloud-Ordner (auch Team-/Gruppenordner), optional mit Jahres-Unterordnern; Komfort-Ablage, kein revisionssicheres Archiv (#38)
  • Girocode: optionaler EPC-Bezahl-QR-Code (EPC069-12) neben der Bankverbindung. Banking-Apps übernehmen Empfänger, Betrag und Verwendungszweck automatisch; nie auf Stornos oder Entwurfs-Vorschauen (#79)

Changed

  • Neue Runtime-Abhängigkeit bacon/bacon-qr-code für das QR-Rendering
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureLZo7cCep3E7ce/8lmUohIZa6LI36+uaqF2y6wFukPeVjvCSxwqO84q3869FFhmq8QLYJUrysSHhVopd+5ULUtoeZ2CVUQwoKq09+BFTuxQPFRkeE9cwH94Rrp0tXCapDhEBgLaS3PEZYd4tMMzZw7Av7WwA89hH8Fy3b7JnVBk6LsZg5saPchA6ViX6Y+DW5wYHdYdp2wvZHhv9+FgMJrd19Q3n3n7dJ6XK89FUb5/Z/3K09+R0mkck7A0N2iR56C/sQr12tMPeEkyqlg+Bj3x7BVmDmawpSnwFI86TCTmvn5E5ehK0BrYufQlKuDkSgg48yRNRrldNnQ03M5Vtr/w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.3
Release Details
UpdatedJuly 8, 2026, 7:11 a.m.
Changelog

Added

  • Nummernkreis-Modus: fortlaufend über Jahre vs. jährlicher Reset, umschaltbar in den Einstellungen (#39)
  • Persönlicher Bereich „Mein Kontakt": eigener Verkäufer-Ansprechpartner pro Nutzer, füllt neue Rechnungen automatisch vor (#47)
  • Einheit „Monat" für Rechnungspositionen (#76)

Fixed

  • Kontakt-E-Mail aus den Einstellungen wird auf Rechnung und E-Rechnung korrekt verwendet, statt der Nextcloud-Konto-Mail (#86)
  • Rechnungstexte: Einleitung erscheint wieder, Schlusstext steht genau einmal unten (keine Dopplung, korrekte Platzierung) (#76)

Security

  • Sicherheitsupdates der Frontend-Abhängigkeiten: dompurify, js-yaml, vite/esbuild (Advisories behoben, npm audit clean)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureGfdVd7F79t0qMXZuq31SJd3IWVykZfSbU5B9eC01Vga/lkUfdvctqYcBv3YR+xoJIr6Lpg9Ax9e+yiaf4kT3RlEJatRcezHnNUNn9+YNEionm8Wzt0y7/sJI2BlmR2aFOS9ConZWSUPO/pPyIPJwN5fWz9+k935pHNWM9eEzyEAoQ1P+xTI6kqyNu1g3I6X5mVgw6CkovFYMc3zm0Swlxvln6H/4QNQPWaJ1SY8vobqTEmkJjjKEDbZf3rvHaxUNOHoQPb1XzUio5YPZrDG8MoYCoRJEHt9oURYtAUzN+yPXN2PzmUUDqgcQ0sidv5buYMJqOTOZesQUmFQCAd+WMQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.2
Release Details
UpdatedJuly 6, 2026, 3:39 a.m.
Changelog

Added

  • Nextcloud 34 wird unterstützt (max-version auf 34 angehoben)
  • Kundenverwaltung: eigene Customer-Entität mit Erfassung, Bearbeitung und Übernahme in die Rechnung

Fixed

  • Storno als rechtssichere E-Rechnung: Korrekturrechnung mit typeCode 384 und negativen Beträgen (EN16931 / §14c UStG), Referenz auf die stornierte Rechnung (BT-25/BT-26); Beleg heißt „Stornorechnung" statt „Gutschrift" (#64, #65)
  • Storno-Dialog eindeutig beschriftet, doppeltes „Cancel" behoben (#64)
  • DATEV-Rückkanal (IMAP): RFC-2047-Q-Encoding wird versionsstabil dekodiert (PHP 8.2)

Changed

  • DATEV-Rückkanal nutzt einen eigenen schlanken IMAP-Client statt webklex/php-imap (deutlich kleineres Release, unter dem App-Store-Größenlimit) (#51)
  • Anzeigename und Marken-Strings durchgängig auf „RechnungsWerk" vereinheitlicht
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturemUXJDuNe+Tilo+dpUr+E737GyLaklc1NJcW9vzLpYYhWaLd+43FFRC5Cv9YyDKJsxPf0C12O19vw9sBfNxxv/UfPsEDc+ltMnmDebp0mCwsusHBF4M3CODsrB/NKrodV/oj8p0z/q43TZzYPdQZ3AzqryUrQVIGvAug2znoDd89J6uhroEDGsLoxDrj6cgpN8Y5e3MFy1wqvirArLewEDS7CmkOXhX4vLTNu/DddQvQmCWp6nlFUmG90koD05VwSCRw3FP+uuig71l4q+giN07sNEb/WqWx00y4aZ//6Svm+MbZcBEeZCvoBbl/gEAgBLSIND8hnPxkeJ61H2B9syQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.1
Release Details
UpdatedJune 25, 2026, 10:18 p.m.
Changelog

Added

  • Spendenlink (Ko-fi) in der App-Beschreibung / im App Store
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureTxuswNGbBYWD5c3Hb/XPAXczbWJGBIbZwCyLuvyWrf68iUvry5vpM98jxZ/HOO6UjERHUcOvR4mboa22aiL4gE18m4V9fEuH09pTmPQuZRCJfJNpDsERvpanhuiKB2G/vIFnVRPTnscKIQj9AEOBziIrhpmXehB/UDtvGfjg5GqRrV7OUu+I5fPztg/Mc1gHnZ7cdwpKY2ERscmXqNzXzfQND0yJKmVQ2mKMBRpspv/opYBqPvPdFcmirSMqkDu6MpjusT6o3Mr1oVzcMvByvz16YDF7lffgYRaYe8ZMLURRRfLYf349mIaZh02K6khJG41Kf6zU9745KXNYTkAnKA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.0
Release Details
UpdatedJune 25, 2026, 3:39 p.m.
Changelog

Erster öffentlicher Release im Nextcloud App Store. Rechnungen und E-Rechnungen (ZUGFeRD/EN16931) erstellen, an Kunden versenden und automatisch an DATEV übergeben.

Added

  • E-Rechnung (ZUGFeRD/EN16931): CII-XML + branded PDF/A-3 (ZugferdService), vollständiger Feldexport — Leistungsdatum/-zeitraum (BT-72/BG-14), Bestell-/Referenznummern (BT-13/14), Verkäufer-/Käufer-Ansprechpartner (BG-6/BG-9), USt-Sonderfälle (Reverse-Charge, innergemeinschaftlich, Ausfuhr)
  • DATEV-Übergabe: automatischer E-Mail-Versand der ZUGFeRD-PDF an die DATEV-Upload-Mail beim Festschreiben und beim Stornieren; optionales eigenes SMTP-Konto
  • DATEV-Rückkanal (IMAP): Background-Job wertet Empfangsbestätigungen aus (In-Reply-To-Matching), Status gesendet → bestätigt; optionaler Papierkorb-Cleanup bestätigter Quittungen (Admin-Einstellung, Default aus)
  • Verkäufer-Ansprechpartner pro Rechnung (Kaskade Rechnung → NC-Konto → Firmenkontakt)
  • Status-Anzeige als flache Icons + Legende in Liste und Editor; Einstellungen in der Navigation unten links (NC-Konvention)
  • Zahlungsbedingungen (It. 4a): Zahlungsziel (Tage), automatisch berechnetes Fälligkeitsdatum beim Festschreiben und Skonto-Hinweis — Migration v0.1.1 (payment_term_days, due_date, discount_terms) + Editor-Sektion
  • Rechnungs-Editor + Liste (It. 3): InvoicesView mit Status-Chips und InvoiceEditorView (Rechnungsdaten · Empfänger · Positionen · Steuer&Summen · Texte)
  • Editierbare Positionstabelle mit Live-Summen + USt-Aufschlüsselung (Client-Vorschau, Server autoritativ), Produkt-Übernahme aus dem Katalog, §19-konforme 0%-Erzwingung
  • Empfänger-Auswahl aus Nextcloud-Kontakten (ContactController + OCP\Contacts\IManager) mit Tipp-Vorschlägen und Auto-Befüllung
  • Lifecycle in der UI: Entwurf speichern → Festschreiben (Bestätigung, endgültige Nummer, read-only) → Stornieren (Stornobeleg)
  • l10n de/en erweitert (120 Keys)

Added (frühere Iterationen)

  • Stammdaten + Produktkatalog (It. 2): ProductService/ProductController (/api/v1/products CRUD) und SettingsController (/api/v1/settings)
  • Frontend ProductsView (Tabelle + Editor-Modal) und SettingsView (gegliedertes Formular: Firma/Bank/Branding/Nummernkreis/Steuer/Versand/Standardtexte) mit §19-Bestätigungsdialog und Live-Vorschau der Rechnungsnummer
  • Pinia-Stores, typisierter API-Client, Geld-Helfer (Cent↔€), l10n de/en
  • Unit-Tests für ProductService
  • (Logo-Auswahl via NC-Files-Picker bewusst auf It. 4 / PDF-Branding verschoben)
  • Initiale App-Grundstruktur (Vue 3 + Vite + @nextcloud/vue 9, PHP 8.2 OCP)
  • App-Navigation mit Platzhalter-Views: Rechnungen, Produkte, Einstellungen
  • Datenmodell + Persistenz-Schicht: Entities/Mapper für Invoice, InvoiceItem, Product, Settings (Geld in Cents, Steuer in Basispunkten, owner-scoped)
  • DB-Migration v0.1.0 (4 Tabellen)
  • InvoiceCalculator (Zeilensummen, Steueraufschlüsselung pro Satzgruppe, Rechnungsnummern-Formatierung) mit Unit-Tests
  • InvoiceService mit Lifecycle (Entwurf → Festschreiben → Storno) und SettingsService (per-Owner-Stammdaten, jahresbasierter Nummernkreis)
  • REST-API /api/v1/invoices (CRUD + /commit, /cancel)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureHSEU9FkRh3w5EkQS8knKf2Odr2rIzhq8NqjYmzgijhzpFtIDq3XM1Cs5+cUyKzgGJf1497jAmVwwUb9QS3aCURWoCPBWcoZy2HOqy5V9jdhNgF5r1+hzZrYZvwKkriR4gyZAtM4WnB1t9syVYBQ3E87/8kdHwNKK9hqbZh5Hf61ovhWn0A8Q9i5+A9FK79M1zP/JX+mHio4QAxIVIcbjmmG+MDPsugayfIGmBEYvQCxFqeruOoizXwnbCg2CSqtEK5PxtmJPklZI53+TuLvDaXHNuCQO7QYlCRNQHixoZzWWJj4ap0KKf3KF23UiiKG9ncPIbD7z1Z0tu2KizTX9Qw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 31

RechnungsWerk 0.2.0
Release Details
UpdatedJuly 18, 2026, 7:55 a.m.
Changelog

Added

  • Angebote: Angebote mit eigenem Nummernkreis erstellen, festschreiben und als PDF versenden. Ein eigener Menüpunkt „Angebote" führt zu einer eigenen Liste mit Status (Offen, Abgelaufen, Angenommen, Abgelehnt, Übernommen, Revidiert). Angebote haben ein „Gültig bis"-Datum (§ 148 BGB) und eine optionale Freibleibend-Kennzeichnung (§ 145 BGB), die als Hinweis auf dem PDF erscheint. Der Angebots-Nummernkreis (Standard AN-{YYYY}-{####}) ist in den Einstellungen unabhängig von den Rechnungen konfigurierbar (#111)
  • In Rechnung übernehmen: ein festgeschriebenes Angebot lässt sich per Knopfdruck in einen neuen Rechnungs-Entwurf überführen – Positionen und Empfänger werden übernommen, die Rechnung referenziert die Angebotsnummer, das Angebot wird als „übernommen" markiert (#111)
  • Angebot revidieren: aus einem festgeschriebenen Angebot lässt sich eine überarbeitbare Revision erstellen. Sie erhält beim Festschreiben eine Revisionsnummer (AN-…-1, -2, …), das Ursprungsangebot wird als „revidiert" markiert (#111)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureSut+zU8cXNarPEIMOdjzO6Vyt3zPfCjSliR6aqSC+JHI+CIm8DlB/lyeDsWuCLaG9K6AQ/43KaiWW1I9f4kqWlUU6t2sBnkafY9FC1F4Sl8j8Ku63t9rBmi9jpLaV5S4Lu6R4Tu8QzRF4ozFDnw9bB2N3+gRl5YfuAzAQa49q67qe+C5wN9ietNZoHicl1l5q9tpNuAs+Q2t9lva8OBNToqR1sKLjVdb3saAG1U+4MrmPTPz0EsU8vGo7oD3agYndSw9RaeXbxMTuDMSHSbLCOZEVf5P9Ns594IwKZ5JsAbCEkvtMQl64vKY7+SWLojj7+p3b7e31Wkhc/XUVmvIgg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.8
Release Details
UpdatedJuly 17, 2026, 8:28 a.m.
Changelog

Added

  • Zahlungsstatus verfolgen: Rechnungen lassen sich in der Liste als bezahlt markieren; der Status (offen, überfällig, bezahlt) ist auf einen Blick sichtbar – überfällige Rechnungen sind hervorgehoben, bezahlte gedämpft dargestellt. Eine Filterleiste (Alle/Offen/Überfällig/Bezahlt) zeigt zusätzlich die Summe der offenen Beträge. Ein Standard-Zahlungsziel in den Einstellungen belegt neue Rechnungen vor (#117)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturesXhEzBMcXpQoQRWbU5Ky7yfzsZEyH5Ll1kI7EJKXftrcsmh1YwvMGgtcbOfeFsPO6mrbq/jzFYuX2lWJazredJEeLSSspQeHTvcuCXSY4ne25hOpuVtTux7bD8fJLGAiyQSvuJzGWXfwp6TSlTM0wdlU1TyLdR8w/dWyVLsQf9367mbQE3yfefnI0CT1G0u+TTPQsDMiy0Ua5njgIJRhpl6giGwn9pjDzIJ5OmYDkdm70c7rFDS1VqUoXAvMo9oEjJthD2UQhoBQY0A+iHk4b8aRgsn6zbBTSxj+NcOA0Qk0ZeYspQJ4oRbSUT5DymHnREzSLMq9n0n17dM3R2TnVw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.7
Release Details
UpdatedJuly 15, 2026, 7:51 p.m.
Changelog

Added

  • Rechnung duplizieren: eine bestehende Rechnung lässt sich per Knopfdruck in der Rechnungsliste als Vorlage für eine neue, bearbeitbare Rechnung übernehmen. Empfänger, Positionen, Referenzen, Notizen und Textbausteine werden kopiert; die neue Rechnung startet als Entwurf ohne Nummer. Stornobelege sind davon ausgenommen (#124)

Fixed

  • Kunde anlegen: Das Speichern schlug fehl, sobald ein Zahlungsziel gesetzt war (#122)
  • Das DATEV-„gesendet"-Symbol in der Rechnungsliste wird nur noch angezeigt, wenn die DATEV-/IMAP-Anbindung eingerichtet ist. Ohne IMAP-Konfiguration lief der automatische Abgleich ohnehin nie, sodass der Status sonst dauerhaft ohne Wirkung sichtbar blieb (#127)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureJELX2endgOdkGdfh2w6fY8wd4eys440C0bemzaAVBhxT4m0sRnRYECDZMoUSv69nz6V5VOe5hTgg3l2bGFh0bzBJ0ucovrtDhy9+XXeLJUHTIgw+f/6R8OG6t+GrsJAglZMCgr1adEUMfhBa+bh09eNyPgvVQ8Jxqj0J7a99PIFQdhimYN+K4MscgCf820b/wFX1zUhT+4WxzXor9rl1Iw07q+4EZiBlT1sESS3dPvNcPYM94uyijiCa3kC+EhA4XiKXr/HkIQmLk0Plor+mQv/Gh0V9M6OkFOdOzNAUwxuDa8X2eWYUIPbE9P4bV/83gogZpUZIDMDUj4grSfB3Aw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.6
Release Details
UpdatedJuly 13, 2026, 8:39 a.m.
Changelog

Fixed

  • App-Installation auf Nextcloud 31 und 32 schlug fehl mit „Primary index name on 'oc_rechnungswerk_invoice_item' is too long". Die unterstützten Datenbanken (SQLite/MySQL/PostgreSQL) sind jetzt in der info.xml deklariert, wodurch Nextclouds Oracle-Namenslimit-Prüfung nicht mehr greift (#118)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturekXawEvTMN/MEksp8u2OB6KxiDpbGNZvPhivMAU2DbRzqmBrGxilRgMUJb6EExxAwJ6DU91Y/qU4iZy8FX1mqzd1ANjXFImD8bG43peKgDcAJwtQyFD/IQ1s9q9wNFNL2qjeTB9VcYDaGatAXLVE9W8zdFuJiqNNKGjcU190vB/S/i6SQgMryNKZrH87Pdd02ADgWcKIi3KyYjr3VvTruaiIrbRv3LgSns9UTXtUcpyvYKdWXQPsj1uc1tY5JpZGwKIOc4VHlxhSWXyTIPOvi5rZle2uVPsyBFT5iz48e+D8WIYidgyY5t2jaoLt7djJcYENcNAbcyz3s7BTmtC/84Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Databases SQLite
MySQL
PostgreSQL
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.5
Release Details
UpdatedJuly 11, 2026, 6:33 p.m.
Changelog

Added

  • Neue Referenzfelder auf der Rechnung: Vertragsnummer (BT-12) und Objekt-/Projektkennung (BT-18). Beide stehen strukturiert im E-Rechnungs-XML und als Meta-Zeilen im PDF (#41)
  • Notizen/Hinweise auf der Rechnung: frei formulierbare Textzeilen, sichtbar im PDF und als Notiz (BT-22) im E-Rechnungs-XML (#41)

Changed

  • Anrede/Einleitung und Schlusstext stehen jetzt auch im E-Rechnungs-XML (BT-22) und nicht mehr nur im PDF (#41)
  • Stornobelege übernehmen die Referenzen der Originalrechnung (Bestell-, Referenz-, Vertragsnummer, Leitweg-ID, Objektkennung)
  • Generische freie Felder (Key-Value) werden nicht weiterverfolgt; bestehende Einträge bleiben als Notizen lesbar (#41)

Fixed

  • Rechnungseditor übernimmt beim Wechsel von einer Rechnung zu „Neue Rechnung" keinen alten Formularzustand mehr (#109)
  • Esc schließt Modals auch dann, wenn der Fokus in einem Eingabefeld liegt (#107)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturefjPXXKL3vvb63vSpX/J8RT/tRxS0jbZyE8Sg8WN1xKKtQOZZxdQTFalX7Din8u8akVxvXup2V91d3GLfhB9x1yqNvZGRVa4kggAduDoCeO/IR6vVZxKweFw1X8KAo0Wt4ph1s7aQs8kMdsEQCfzBtwtORXG9hmmj4KUmvIWQpw9ipTvf14XvA60KEitNQf/VGSAxVIlowcq1bgvXf9CrOYMBRo7slEBcucL8fN9jfw3QgV0StjK5iemBpAJg/hMMnMhdgkSXkfEczisnVwe8u8vuz9bMXMIWhAQFWjT89IECY2UW4Lcv4Ai3A+7/tUk4b6W3pfOVggfOUTm54yeJ0w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.4
Release Details
UpdatedJuly 11, 2026, 10:53 a.m.
Changelog

Added

  • Rechnungsvorschau für Entwürfe: Vorschau-Button im Editor zeigt das PDF vor dem Festschreiben. Deutlich als ENTWURF gekennzeichnet (Wasserzeichen, Banner, ohne E-Rechnungs-XML) (#94)
  • Konfigurierbares Dateinamen-Schema für erzeugte PDFs mit Platzhaltern {nummer}, {YYYY}/{MM}/{DD}, {kunde}, {typ}. Gilt einheitlich für Download, Kundenmail und DATEV-Mail, mit Live-Vorschau in den Einstellungen (#37)
  • Automatische Ablage festgeschriebener Rechnungen (inkl. Stornos) in einen Nextcloud-Ordner (auch Team-/Gruppenordner), optional mit Jahres-Unterordnern; Komfort-Ablage, kein revisionssicheres Archiv (#38)
  • Girocode: optionaler EPC-Bezahl-QR-Code (EPC069-12) neben der Bankverbindung. Banking-Apps übernehmen Empfänger, Betrag und Verwendungszweck automatisch; nie auf Stornos oder Entwurfs-Vorschauen (#79)

Changed

  • Neue Runtime-Abhängigkeit bacon/bacon-qr-code für das QR-Rendering
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureLZo7cCep3E7ce/8lmUohIZa6LI36+uaqF2y6wFukPeVjvCSxwqO84q3869FFhmq8QLYJUrysSHhVopd+5ULUtoeZ2CVUQwoKq09+BFTuxQPFRkeE9cwH94Rrp0tXCapDhEBgLaS3PEZYd4tMMzZw7Av7WwA89hH8Fy3b7JnVBk6LsZg5saPchA6ViX6Y+DW5wYHdYdp2wvZHhv9+FgMJrd19Q3n3n7dJ6XK89FUb5/Z/3K09+R0mkck7A0N2iR56C/sQr12tMPeEkyqlg+Bj3x7BVmDmawpSnwFI86TCTmvn5E5ehK0BrYufQlKuDkSgg48yRNRrldNnQ03M5Vtr/w==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.3
Release Details
UpdatedJuly 8, 2026, 7:11 a.m.
Changelog

Added

  • Nummernkreis-Modus: fortlaufend über Jahre vs. jährlicher Reset, umschaltbar in den Einstellungen (#39)
  • Persönlicher Bereich „Mein Kontakt": eigener Verkäufer-Ansprechpartner pro Nutzer, füllt neue Rechnungen automatisch vor (#47)
  • Einheit „Monat" für Rechnungspositionen (#76)

Fixed

  • Kontakt-E-Mail aus den Einstellungen wird auf Rechnung und E-Rechnung korrekt verwendet, statt der Nextcloud-Konto-Mail (#86)
  • Rechnungstexte: Einleitung erscheint wieder, Schlusstext steht genau einmal unten (keine Dopplung, korrekte Platzierung) (#76)

Security

  • Sicherheitsupdates der Frontend-Abhängigkeiten: dompurify, js-yaml, vite/esbuild (Advisories behoben, npm audit clean)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureGfdVd7F79t0qMXZuq31SJd3IWVykZfSbU5B9eC01Vga/lkUfdvctqYcBv3YR+xoJIr6Lpg9Ax9e+yiaf4kT3RlEJatRcezHnNUNn9+YNEionm8Wzt0y7/sJI2BlmR2aFOS9ConZWSUPO/pPyIPJwN5fWz9+k935pHNWM9eEzyEAoQ1P+xTI6kqyNu1g3I6X5mVgw6CkovFYMc3zm0Swlxvln6H/4QNQPWaJ1SY8vobqTEmkJjjKEDbZf3rvHaxUNOHoQPb1XzUio5YPZrDG8MoYCoRJEHt9oURYtAUzN+yPXN2PzmUUDqgcQ0sidv5buYMJqOTOZesQUmFQCAd+WMQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.2
Release Details
UpdatedJuly 6, 2026, 3:39 a.m.
Changelog

Added

  • Nextcloud 34 wird unterstützt (max-version auf 34 angehoben)
  • Kundenverwaltung: eigene Customer-Entität mit Erfassung, Bearbeitung und Übernahme in die Rechnung

Fixed

  • Storno als rechtssichere E-Rechnung: Korrekturrechnung mit typeCode 384 und negativen Beträgen (EN16931 / §14c UStG), Referenz auf die stornierte Rechnung (BT-25/BT-26); Beleg heißt „Stornorechnung" statt „Gutschrift" (#64, #65)
  • Storno-Dialog eindeutig beschriftet, doppeltes „Cancel" behoben (#64)
  • DATEV-Rückkanal (IMAP): RFC-2047-Q-Encoding wird versionsstabil dekodiert (PHP 8.2)

Changed

  • DATEV-Rückkanal nutzt einen eigenen schlanken IMAP-Client statt webklex/php-imap (deutlich kleineres Release, unter dem App-Store-Größenlimit) (#51)
  • Anzeigename und Marken-Strings durchgängig auf „RechnungsWerk" vereinheitlicht
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignaturemUXJDuNe+Tilo+dpUr+E737GyLaklc1NJcW9vzLpYYhWaLd+43FFRC5Cv9YyDKJsxPf0C12O19vw9sBfNxxv/UfPsEDc+ltMnmDebp0mCwsusHBF4M3CODsrB/NKrodV/oj8p0z/q43TZzYPdQZ3AzqryUrQVIGvAug2znoDd89J6uhroEDGsLoxDrj6cgpN8Y5e3MFy1wqvirArLewEDS7CmkOXhX4vLTNu/DddQvQmCWp6nlFUmG90koD05VwSCRw3FP+uuig71l4q+giN07sNEb/WqWx00y4aZ//6Svm+MbZcBEeZCvoBbl/gEAgBLSIND8hnPxkeJ61H2B9syQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=31.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.1
Release Details
UpdatedJune 25, 2026, 10:18 p.m.
Changelog

Added

  • Spendenlink (Ko-fi) in der App-Beschreibung / im App Store
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureTxuswNGbBYWD5c3Hb/XPAXczbWJGBIbZwCyLuvyWrf68iUvry5vpM98jxZ/HOO6UjERHUcOvR4mboa22aiL4gE18m4V9fEuH09pTmPQuZRCJfJNpDsERvpanhuiKB2G/vIFnVRPTnscKIQj9AEOBziIrhpmXehB/UDtvGfjg5GqRrV7OUu+I5fPztg/Mc1gHnZ7cdwpKY2ERscmXqNzXzfQND0yJKmVQ2mKMBRpspv/opYBqPvPdFcmirSMqkDu6MpjusT6o3Mr1oVzcMvByvz16YDF7lffgYRaYe8ZMLURRRfLYf349mIaZh02K6khJG41Kf6zU9745KXNYTkAnKA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.0
Release Details
UpdatedJune 25, 2026, 3:39 p.m.
Changelog

Erster öffentlicher Release im Nextcloud App Store. Rechnungen und E-Rechnungen (ZUGFeRD/EN16931) erstellen, an Kunden versenden und automatisch an DATEV übergeben.

Added

  • E-Rechnung (ZUGFeRD/EN16931): CII-XML + branded PDF/A-3 (ZugferdService), vollständiger Feldexport — Leistungsdatum/-zeitraum (BT-72/BG-14), Bestell-/Referenznummern (BT-13/14), Verkäufer-/Käufer-Ansprechpartner (BG-6/BG-9), USt-Sonderfälle (Reverse-Charge, innergemeinschaftlich, Ausfuhr)
  • DATEV-Übergabe: automatischer E-Mail-Versand der ZUGFeRD-PDF an die DATEV-Upload-Mail beim Festschreiben und beim Stornieren; optionales eigenes SMTP-Konto
  • DATEV-Rückkanal (IMAP): Background-Job wertet Empfangsbestätigungen aus (In-Reply-To-Matching), Status gesendet → bestätigt; optionaler Papierkorb-Cleanup bestätigter Quittungen (Admin-Einstellung, Default aus)
  • Verkäufer-Ansprechpartner pro Rechnung (Kaskade Rechnung → NC-Konto → Firmenkontakt)
  • Status-Anzeige als flache Icons + Legende in Liste und Editor; Einstellungen in der Navigation unten links (NC-Konvention)
  • Zahlungsbedingungen (It. 4a): Zahlungsziel (Tage), automatisch berechnetes Fälligkeitsdatum beim Festschreiben und Skonto-Hinweis — Migration v0.1.1 (payment_term_days, due_date, discount_terms) + Editor-Sektion
  • Rechnungs-Editor + Liste (It. 3): InvoicesView mit Status-Chips und InvoiceEditorView (Rechnungsdaten · Empfänger · Positionen · Steuer&Summen · Texte)
  • Editierbare Positionstabelle mit Live-Summen + USt-Aufschlüsselung (Client-Vorschau, Server autoritativ), Produkt-Übernahme aus dem Katalog, §19-konforme 0%-Erzwingung
  • Empfänger-Auswahl aus Nextcloud-Kontakten (ContactController + OCP\Contacts\IManager) mit Tipp-Vorschlägen und Auto-Befüllung
  • Lifecycle in der UI: Entwurf speichern → Festschreiben (Bestätigung, endgültige Nummer, read-only) → Stornieren (Stornobeleg)
  • l10n de/en erweitert (120 Keys)

Added (frühere Iterationen)

  • Stammdaten + Produktkatalog (It. 2): ProductService/ProductController (/api/v1/products CRUD) und SettingsController (/api/v1/settings)
  • Frontend ProductsView (Tabelle + Editor-Modal) und SettingsView (gegliedertes Formular: Firma/Bank/Branding/Nummernkreis/Steuer/Versand/Standardtexte) mit §19-Bestätigungsdialog und Live-Vorschau der Rechnungsnummer
  • Pinia-Stores, typisierter API-Client, Geld-Helfer (Cent↔€), l10n de/en
  • Unit-Tests für ProductService
  • (Logo-Auswahl via NC-Files-Picker bewusst auf It. 4 / PDF-Branding verschoben)
  • Initiale App-Grundstruktur (Vue 3 + Vite + @nextcloud/vue 9, PHP 8.2 OCP)
  • App-Navigation mit Platzhalter-Views: Rechnungen, Produkte, Einstellungen
  • Datenmodell + Persistenz-Schicht: Entities/Mapper für Invoice, InvoiceItem, Product, Settings (Geld in Cents, Steuer in Basispunkten, owner-scoped)
  • DB-Migration v0.1.0 (4 Tabellen)
  • InvoiceCalculator (Zeilensummen, Steueraufschlüsselung pro Satzgruppe, Rechnungsnummern-Formatierung) mit Unit-Tests
  • InvoiceService mit Lifecycle (Entwurf → Festschreiben → Storno) und SettingsService (per-Owner-Stammdaten, jahresbasierter Nummernkreis)
  • REST-API /api/v1/invoices (CRUD + /commit, /cancel)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureHSEU9FkRh3w5EkQS8knKf2Odr2rIzhq8NqjYmzgijhzpFtIDq3XM1Cs5+cUyKzgGJf1497jAmVwwUb9QS3aCURWoCPBWcoZy2HOqy5V9jdhNgF5r1+hzZrYZvwKkriR4gyZAtM4WnB1t9syVYBQ3E87/8kdHwNKK9hqbZh5Hf61ovhWn0A8Q9i5+A9FK79M1zP/JX+mHio4QAxIVIcbjmmG+MDPsugayfIGmBEYvQCxFqeruOoizXwnbCg2CSqtEK5PxtmJPklZI53+TuLvDaXHNuCQO7QYlCRNQHixoZzWWJj4ap0KKf3KF23UiiKG9ncPIbD7z1Z0tu2KizTX9Qw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 30

RechnungsWerk 0.1.1
Release Details
UpdatedJune 25, 2026, 10:18 p.m.
Changelog

Added

  • Spendenlink (Ko-fi) in der App-Beschreibung / im App Store
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureTxuswNGbBYWD5c3Hb/XPAXczbWJGBIbZwCyLuvyWrf68iUvry5vpM98jxZ/HOO6UjERHUcOvR4mboa22aiL4gE18m4V9fEuH09pTmPQuZRCJfJNpDsERvpanhuiKB2G/vIFnVRPTnscKIQj9AEOBziIrhpmXehB/UDtvGfjg5GqRrV7OUu+I5fPztg/Mc1gHnZ7cdwpKY2ERscmXqNzXzfQND0yJKmVQ2mKMBRpspv/opYBqPvPdFcmirSMqkDu6MpjusT6o3Mr1oVzcMvByvz16YDF7lffgYRaYe8ZMLURRRfLYf349mIaZh02K6khJG41Kf6zU9745KXNYTkAnKA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
RechnungsWerk 0.1.0
Release Details
UpdatedJune 25, 2026, 3:39 p.m.
Changelog

Erster öffentlicher Release im Nextcloud App Store. Rechnungen und E-Rechnungen (ZUGFeRD/EN16931) erstellen, an Kunden versenden und automatisch an DATEV übergeben.

Added

  • E-Rechnung (ZUGFeRD/EN16931): CII-XML + branded PDF/A-3 (ZugferdService), vollständiger Feldexport — Leistungsdatum/-zeitraum (BT-72/BG-14), Bestell-/Referenznummern (BT-13/14), Verkäufer-/Käufer-Ansprechpartner (BG-6/BG-9), USt-Sonderfälle (Reverse-Charge, innergemeinschaftlich, Ausfuhr)
  • DATEV-Übergabe: automatischer E-Mail-Versand der ZUGFeRD-PDF an die DATEV-Upload-Mail beim Festschreiben und beim Stornieren; optionales eigenes SMTP-Konto
  • DATEV-Rückkanal (IMAP): Background-Job wertet Empfangsbestätigungen aus (In-Reply-To-Matching), Status gesendet → bestätigt; optionaler Papierkorb-Cleanup bestätigter Quittungen (Admin-Einstellung, Default aus)
  • Verkäufer-Ansprechpartner pro Rechnung (Kaskade Rechnung → NC-Konto → Firmenkontakt)
  • Status-Anzeige als flache Icons + Legende in Liste und Editor; Einstellungen in der Navigation unten links (NC-Konvention)
  • Zahlungsbedingungen (It. 4a): Zahlungsziel (Tage), automatisch berechnetes Fälligkeitsdatum beim Festschreiben und Skonto-Hinweis — Migration v0.1.1 (payment_term_days, due_date, discount_terms) + Editor-Sektion
  • Rechnungs-Editor + Liste (It. 3): InvoicesView mit Status-Chips und InvoiceEditorView (Rechnungsdaten · Empfänger · Positionen · Steuer&Summen · Texte)
  • Editierbare Positionstabelle mit Live-Summen + USt-Aufschlüsselung (Client-Vorschau, Server autoritativ), Produkt-Übernahme aus dem Katalog, §19-konforme 0%-Erzwingung
  • Empfänger-Auswahl aus Nextcloud-Kontakten (ContactController + OCP\Contacts\IManager) mit Tipp-Vorschlägen und Auto-Befüllung
  • Lifecycle in der UI: Entwurf speichern → Festschreiben (Bestätigung, endgültige Nummer, read-only) → Stornieren (Stornobeleg)
  • l10n de/en erweitert (120 Keys)

Added (frühere Iterationen)

  • Stammdaten + Produktkatalog (It. 2): ProductService/ProductController (/api/v1/products CRUD) und SettingsController (/api/v1/settings)
  • Frontend ProductsView (Tabelle + Editor-Modal) und SettingsView (gegliedertes Formular: Firma/Bank/Branding/Nummernkreis/Steuer/Versand/Standardtexte) mit §19-Bestätigungsdialog und Live-Vorschau der Rechnungsnummer
  • Pinia-Stores, typisierter API-Client, Geld-Helfer (Cent↔€), l10n de/en
  • Unit-Tests für ProductService
  • (Logo-Auswahl via NC-Files-Picker bewusst auf It. 4 / PDF-Branding verschoben)
  • Initiale App-Grundstruktur (Vue 3 + Vite + @nextcloud/vue 9, PHP 8.2 OCP)
  • App-Navigation mit Platzhalter-Views: Rechnungen, Produkte, Einstellungen
  • Datenmodell + Persistenz-Schicht: Entities/Mapper für Invoice, InvoiceItem, Product, Settings (Geld in Cents, Steuer in Basispunkten, owner-scoped)
  • DB-Migration v0.1.0 (4 Tabellen)
  • InvoiceCalculator (Zeilensummen, Steueraufschlüsselung pro Satzgruppe, Rechnungsnummern-Formatierung) mit Unit-Tests
  • InvoiceService mit Lifecycle (Entwurf → Festschreiben → Storno) und SettingsService (per-Owner-Stammdaten, jahresbasierter Nummernkreis)
  • REST-API /api/v1/invoices (CRUD + /commit, /cancel)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDCDCCAfACAhNyMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwNjIyMDcyMDE5WhcNMzYwOTI3MDcyMDE5WjAYMRYwFAYD
VQQDDA1yZWNobnVuZ3N3ZXJrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxwoS75lgcuMhZyoEXdTSGHtBaDVUXobuzzXLGIysuquaVwnAwdK+PJTqrPQh
UymsvwBOGiZNLhWL+b7YhvdAhmKdVSxX4X6IhnerumFnie+df8oqTO5+EhpRKAPr
B2uJngJDZI9iLzq752SDymW48EQRNotrNJzAIuOv6S+JjGQl6zF2AGqArPWtLg5b
qqL4hl4o8deNIDQYlc+jky9nDcAAze2U0bB8SQvLCl+kupThBG0FpWujgIeibiWU
1cR7M+YLOT8GDX021ixo6421BndkNqHKMCxZ+F6dDHa3aGq0qaH9AFyeVS8vkH84
eKkGfPEwZc4l/t5tiQ3rwYE7jwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBfbkus
KxEo6U+jlkymaBgpz35CycwCNmTWwuuLGU287vzbKcaU9iBWSc+qFd8BtGXrE0kc
aQzX0quIryB+IQ42hIVYuSqTQ9HTlXT95o/bX9uKxSx0YDI6jkqt5HnTwVycLGWc
Vu741ETcaRn7zqRWrFk3L0RsgWC7gtq/W6yCQaj1iJYk47Di+b5qUCcIWcMbUNyR
stIdzJf6O2PQXQF8TDkv7xbQGCRizMVpnhSvGpCA/Pwr7XwN/XlNJPbzMt0T+DSA
gXnVu454raanP0asyRTBHZY/QrYleHT6JFvOZjxIXSku+ZHLFrDfaMAlKaoWGlD0
318qOb/IOCBSOiBa
-----END CERTIFICATE-----
SignatureHSEU9FkRh3w5EkQS8knKf2Odr2rIzhq8NqjYmzgijhzpFtIDq3XM1Cs5+cUyKzgGJf1497jAmVwwUb9QS3aCURWoCPBWcoZy2HOqy5V9jdhNgF5r1+hzZrYZvwKkriR4gyZAtM4WnB1t9syVYBQ3E87/8kdHwNKK9hqbZh5Hf61ovhWn0A8Q9i5+A9FK79M1zP/JX+mHio4QAxIVIcbjmmG+MDPsugayfIGmBEYvQCxFqeruOoizXwnbCg2CSqtEK5PxtmJPklZI53+TuLvDaXHNuCQO7QYlCRNQHixoZzWWJj4ap0KKf3KF23UiiKG9ncPIbD7z1Z0tu2KizTX9Qw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0