-
+
+
+
+
-
Rechnung erstellen
-
Dieses Modul wird in Kürze verfügbar sein.
+
+
+
+
+
+
+
+ {{ step.number }}
+
+
{{ step.label }}
+
+
+
+
+
+
+
+
+
+
+
+
Rechnung erstellen
+
Erstelle eine Rechnung nach BdP Vorlage.
+
+
+
+
+
+
+
+
+
Empfänger
+
+
+
+
+
+
+
+
+ Neuer Kontakt
+
+
+
+
+
+
+
+ Firma / Organisation
+
+
+
+
+ Anrede
+
+ — bitte wählen —
+ Herr
+ Frau
+ Divers
+
+
+
+
+
+
+ Adresse
+
+
+
+
+
+
+ E-Mail
+
+
+
+
+
+
+
+
+ Zahlungsziel
+
+
+
+
+
+
+ IBAN
+
+
+
+
+ BIC
+
+
+
+
+
+
+ Absender-E-Mail
+
+
+
+
+ Telefon (optional)
+
+
+
+
+
+
+
+ Daten für diesen Kontakt speichern und bei künftigen Rechnungen vorausfüllen.
+
+
+
+
+
+
+
Positionen
+
+
+
+
+
+ Position hinzufügen
+
+
+
+
+
+
+
Mehrwertsteuer
+
+
+ {{ satz }} %
+
+
+
+
+
+
+ Nettobetrag
+ {{ formatPreis(nettoSumme) }}
+
+
+ zzgl. {{ form.mwstSatz }} % MwSt.
+ {{ formatPreis(mwstBetrag) }}
+
+
+ Gesamtbetrag
+ {{ formatPreis(brutto) }}
+
+
+
+
+
+
+
+
+
+
+
Rechnung bereit
+
Prüfe die Vorschau rechts und lade die Rechnung anschließend als PDF herunter.
+
+
+
+ Empfänger
+
+ {{ [form.organisation, [form.anrede, form.vorname, form.nachname].filter(Boolean).join(' ')].filter(Boolean).join(' · ') || '—' }}
+
+
+
+ Rechnungs-Nr.
+ {{ form.rechnungsnummer || '(wird automatisch vergeben)' }}
+
+
+ Datum
+ {{ form.rechnungsdatum || '—' }}
+
+
+ Zahlungsziel
+ {{ form.zahlungsziel || '—' }}
+
+
+ Gesamtbetrag
+ {{ formatPreis(brutto) }}
+
+
+
+
+
+ {{ pdfLoading ? 'PDF wird generiert…' : 'PDF herunterladen' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BdP Landesverband Sachsen
+ c/o Mandy Grazek
+ Weststraße 53c, 09212 Limbach-Oberfrohna
+ sachsen@pfadfinden.de
+
+
+
+
+
+
+
Rechnungsempfänger
+
{{ form.organisation }}
+
{{ [form.anrede, form.vorname, form.nachname].filter(Boolean).join(' ') || '—' }}
+
{{ form.adresse || '—' }}
+
{{ [form.plz, form.ort].filter(Boolean).join(' ') || '—' }}
+
+
+
+
+
+
+
+
+
+ Nr.
+ Bezeichnung
+ Menge
+ Einzelpreis
+ Gesamt
+
+
+
+
+
+ {{ i + 1 }}
+ {{ pos.bezeichnung }}
+ {{ pos.menge }} {{ pos.einheit }}
+ {{ formatPreis(pos.einzelpreis) }}
+ {{ formatPreis(posGesamt(pos)) }}
+
+
+
+
+ Positionen werden in Schritt 2 erfasst.
+
+
+
+
+
+
+
+ Nettobetrag
+ {{ formatPreis(nettoSumme) }}
+
+
+ zzgl. {{ form.mwstSatz }} % MwSt.
+ {{ formatPreis(mwstBetrag) }}
+
+
+ Gesamtbetrag
+ {{ formatPreis(brutto) }}
+
+
+
+
+ Bitte überweisen Sie auf IBAN:
+ {{ form.iban || '—' }}
+ · BIC: {{ form.bic }}
+
+
+
+
+
+
+
+
+
+
+
+
+ Zurück
+
+
+
+
+ {{ currentStep === 1 ? 'Weiter: Positionen' : 'Weiter: Vorschau' }}
+
+
+
+
diff --git a/composer.json b/composer.json
index 2cbcd47..efcb705 100644
--- a/composer.json
+++ b/composer.json
@@ -7,6 +7,7 @@
"license": "MIT",
"require": {
"php": "^8.5",
+ "barryvdh/laravel-dompdf": "^3.1",
"inertiajs/inertia-laravel": "^2.0",
"laravel/framework": "^13.0"
},
diff --git a/composer.lock b/composer.lock
index 4d56531..1cc69a4 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,85 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "844b0bde1d19fc4ee7aed07fa973aaff",
+ "content-hash": "e9179c934253bee1b1afef146ded5a2b",
"packages": [
+ {
+ "name": "barryvdh/laravel-dompdf",
+ "version": "v3.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/barryvdh/laravel-dompdf.git",
+ "reference": "ee3b72b19ccdf57d0243116ecb2b90261344dedc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/ee3b72b19ccdf57d0243116ecb2b90261344dedc",
+ "reference": "ee3b72b19ccdf57d0243116ecb2b90261344dedc",
+ "shasum": ""
+ },
+ "require": {
+ "dompdf/dompdf": "^3.0",
+ "illuminate/support": "^9|^10|^11|^12|^13.0",
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "larastan/larastan": "^2.7|^3.0",
+ "orchestra/testbench": "^7|^8|^9.16|^10|^11.0",
+ "phpro/grumphp": "^2.5",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "aliases": {
+ "PDF": "Barryvdh\\DomPDF\\Facade\\Pdf",
+ "Pdf": "Barryvdh\\DomPDF\\Facade\\Pdf"
+ },
+ "providers": [
+ "Barryvdh\\DomPDF\\ServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Barryvdh\\DomPDF\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@gmail.com"
+ }
+ ],
+ "description": "A DOMPDF Wrapper for Laravel",
+ "keywords": [
+ "dompdf",
+ "laravel",
+ "pdf"
+ ],
+ "support": {
+ "issues": "https://github.com/barryvdh/laravel-dompdf/issues",
+ "source": "https://github.com/barryvdh/laravel-dompdf/tree/v3.1.2"
+ },
+ "funding": [
+ {
+ "url": "https://fruitcake.nl",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2026-02-21T08:51:10+00:00"
+ },
{
"name": "brick/math",
"version": "0.18.0",
@@ -376,6 +453,161 @@
],
"time": "2024-02-05T11:56:58+00:00"
},
+ {
+ "name": "dompdf/dompdf",
+ "version": "v3.1.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/dompdf.git",
+ "reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
+ "reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
+ "shasum": ""
+ },
+ "require": {
+ "dompdf/php-font-lib": "^1.0.0",
+ "dompdf/php-svg-lib": "^1.0.0",
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "masterminds/html5": "^2.0",
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "ext-gd": "*",
+ "ext-json": "*",
+ "ext-zip": "*",
+ "mockery/mockery": "^1.3",
+ "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11",
+ "squizlabs/php_codesniffer": "^3.5",
+ "symfony/process": "^4.4 || ^5.4 || ^6.2 || ^7.0"
+ },
+ "suggest": {
+ "ext-gd": "Needed to process images",
+ "ext-gmagick": "Improves image processing performance",
+ "ext-imagick": "Improves image processing performance",
+ "ext-zlib": "Needed for pdf stream compression"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Dompdf\\": "src/"
+ },
+ "classmap": [
+ "lib/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-2.1"
+ ],
+ "authors": [
+ {
+ "name": "The Dompdf Community",
+ "homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
+ }
+ ],
+ "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
+ "homepage": "https://github.com/dompdf/dompdf",
+ "support": {
+ "issues": "https://github.com/dompdf/dompdf/issues",
+ "source": "https://github.com/dompdf/dompdf/tree/v3.1.5"
+ },
+ "time": "2026-03-03T13:54:37+00:00"
+ },
+ {
+ "name": "dompdf/php-font-lib",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/php-font-lib.git",
+ "reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a6e9a688a2a80016ac080b97be73d3e10c444c9a",
+ "reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11 || ^12"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "FontLib\\": "src/FontLib"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-2.1-or-later"
+ ],
+ "authors": [
+ {
+ "name": "The FontLib Community",
+ "homepage": "https://github.com/dompdf/php-font-lib/blob/master/AUTHORS.md"
+ }
+ ],
+ "description": "A library to read, parse, export and make subsets of different types of font files.",
+ "homepage": "https://github.com/dompdf/php-font-lib",
+ "support": {
+ "issues": "https://github.com/dompdf/php-font-lib/issues",
+ "source": "https://github.com/dompdf/php-font-lib/tree/1.0.2"
+ },
+ "time": "2026-01-20T14:10:26+00:00"
+ },
+ {
+ "name": "dompdf/php-svg-lib",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/php-svg-lib.git",
+ "reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8259ffb930817e72b1ff1caef5d226501f3dfeb1",
+ "reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^7.1 || ^8.0",
+ "sabberworm/php-css-parser": "^8.4 || ^9.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Svg\\": "src/Svg"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "The SvgLib Community",
+ "homepage": "https://github.com/dompdf/php-svg-lib/blob/master/AUTHORS.md"
+ }
+ ],
+ "description": "A library to read, parse and export to PDF SVG files.",
+ "homepage": "https://github.com/dompdf/php-svg-lib",
+ "support": {
+ "issues": "https://github.com/dompdf/php-svg-lib/issues",
+ "source": "https://github.com/dompdf/php-svg-lib/tree/1.0.2"
+ },
+ "time": "2026-01-02T16:01:13+00:00"
+ },
{
"name": "dragonmantank/cron-expression",
"version": "v3.6.0",
@@ -2033,6 +2265,73 @@
],
"time": "2026-03-08T20:05:35+00:00"
},
+ {
+ "name": "masterminds/html5",
+ "version": "2.10.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Masterminds/html5-php.git",
+ "reference": "fd5018f6815fff903946d0564977b44ce8010e29"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fd5018f6815fff903946d0564977b44ce8010e29",
+ "reference": "fd5018f6815fff903946d0564977b44ce8010e29",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9 || ^10"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Masterminds\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Butcher",
+ "email": "technosophos@gmail.com"
+ },
+ {
+ "name": "Matt Farina",
+ "email": "matt@mattfarina.com"
+ },
+ {
+ "name": "Asmir Mustafic",
+ "email": "goetas@gmail.com"
+ }
+ ],
+ "description": "An HTML5 parser and serializer.",
+ "homepage": "http://masterminds.github.io/html5-php",
+ "keywords": [
+ "HTML5",
+ "dom",
+ "html",
+ "parser",
+ "querypath",
+ "serializer",
+ "xml"
+ ],
+ "support": {
+ "issues": "https://github.com/Masterminds/html5-php/issues",
+ "source": "https://github.com/Masterminds/html5-php/tree/2.10.1"
+ },
+ "time": "2026-06-23T18:43:15+00:00"
+ },
{
"name": "monolog/monolog",
"version": "3.10.0",
@@ -3171,6 +3470,86 @@
},
"time": "2026-06-18T03:57:49+00:00"
},
+ {
+ "name": "sabberworm/php-css-parser",
+ "version": "v9.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
+ "reference": "fd3bf9fb173e0df649bc4e3e0d088a1b2417c08f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/fd3bf9fb173e0df649bc4e3e0d088a1b2417c08f",
+ "reference": "fd3bf9fb173e0df649bc4e3e0d088a1b2417c08f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-iconv": "*",
+ "php": "^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
+ "thecodingmachine/safe": "^1.3 || ^2.5 || ^3.4"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-parallel-lint": "1.4.0",
+ "phpstan/extension-installer": "1.4.3",
+ "phpstan/phpstan": "1.12.33 || 2.2.2",
+ "phpstan/phpstan-phpunit": "1.4.2 || 2.0.16",
+ "phpstan/phpstan-strict-rules": "1.6.2 || 2.0.11",
+ "phpunit/phpunit": "8.5.52",
+ "rawr/phpunit-data-provider": "3.3.1",
+ "rector/rector": "1.2.10 || 2.4.6",
+ "rector/type-perfect": "1.0.0 || 2.1.3",
+ "squizlabs/php_codesniffer": "4.0.1",
+ "thecodingmachine/phpstan-safe-rule": "1.2.0 || 1.4.3"
+ },
+ "suggest": {
+ "ext-mbstring": "for parsing UTF-8 CSS"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "9.5.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Rule/Rule.php",
+ "src/RuleSet/RuleContainer.php"
+ ],
+ "psr-4": {
+ "Sabberworm\\CSS\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Raphael Schweikert"
+ },
+ {
+ "name": "Oliver Klee",
+ "email": "github@oliverklee.de"
+ },
+ {
+ "name": "Jake Hotson",
+ "email": "jake.github@qzdesign.co.uk"
+ }
+ ],
+ "description": "Parser for CSS Files written in PHP",
+ "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
+ "keywords": [
+ "css",
+ "parser",
+ "stylesheet"
+ ],
+ "support": {
+ "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
+ "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.4.0"
+ },
+ "time": "2026-06-18T15:10:53+00:00"
+ },
{
"name": "symfony/clock",
"version": "v8.1.0",
@@ -5650,6 +6029,149 @@
],
"time": "2026-06-09T10:54:51+00:00"
},
+ {
+ "name": "thecodingmachine/safe",
+ "version": "v3.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thecodingmachine/safe.git",
+ "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/705683a25bacf0d4860c7dea4d7947bfd09eea19",
+ "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-parallel-lint": "^1.4",
+ "phpstan/phpstan": "^2",
+ "phpunit/phpunit": "^10",
+ "squizlabs/php_codesniffer": "^3.2"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/special_cases.php",
+ "generated/apache.php",
+ "generated/apcu.php",
+ "generated/array.php",
+ "generated/bzip2.php",
+ "generated/calendar.php",
+ "generated/classobj.php",
+ "generated/com.php",
+ "generated/cubrid.php",
+ "generated/curl.php",
+ "generated/datetime.php",
+ "generated/dir.php",
+ "generated/eio.php",
+ "generated/errorfunc.php",
+ "generated/exec.php",
+ "generated/fileinfo.php",
+ "generated/filesystem.php",
+ "generated/filter.php",
+ "generated/fpm.php",
+ "generated/ftp.php",
+ "generated/funchand.php",
+ "generated/gettext.php",
+ "generated/gmp.php",
+ "generated/gnupg.php",
+ "generated/hash.php",
+ "generated/ibase.php",
+ "generated/ibmDb2.php",
+ "generated/iconv.php",
+ "generated/image.php",
+ "generated/imap.php",
+ "generated/info.php",
+ "generated/inotify.php",
+ "generated/json.php",
+ "generated/ldap.php",
+ "generated/libxml.php",
+ "generated/lzf.php",
+ "generated/mailparse.php",
+ "generated/mbstring.php",
+ "generated/misc.php",
+ "generated/mysql.php",
+ "generated/mysqli.php",
+ "generated/network.php",
+ "generated/oci8.php",
+ "generated/opcache.php",
+ "generated/openssl.php",
+ "generated/outcontrol.php",
+ "generated/pcntl.php",
+ "generated/pcre.php",
+ "generated/pgsql.php",
+ "generated/posix.php",
+ "generated/ps.php",
+ "generated/pspell.php",
+ "generated/readline.php",
+ "generated/rnp.php",
+ "generated/rpminfo.php",
+ "generated/rrd.php",
+ "generated/sem.php",
+ "generated/session.php",
+ "generated/shmop.php",
+ "generated/sockets.php",
+ "generated/sodium.php",
+ "generated/solr.php",
+ "generated/spl.php",
+ "generated/sqlsrv.php",
+ "generated/ssdeep.php",
+ "generated/ssh2.php",
+ "generated/stream.php",
+ "generated/strings.php",
+ "generated/swoole.php",
+ "generated/uodbc.php",
+ "generated/uopz.php",
+ "generated/url.php",
+ "generated/var.php",
+ "generated/xdiff.php",
+ "generated/xml.php",
+ "generated/xmlrpc.php",
+ "generated/yaml.php",
+ "generated/yaz.php",
+ "generated/zip.php",
+ "generated/zlib.php"
+ ],
+ "classmap": [
+ "lib/DateTime.php",
+ "lib/DateTimeImmutable.php",
+ "lib/Exceptions/",
+ "generated/Exceptions/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHP core functions that throw exceptions instead of returning FALSE on error",
+ "support": {
+ "issues": "https://github.com/thecodingmachine/safe/issues",
+ "source": "https://github.com/thecodingmachine/safe/tree/v3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/OskarStark",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/shish",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/silasjoisten",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2026-02-04T18:08:13+00:00"
+ },
{
"name": "tijsverkoyen/css-to-inline-styles",
"version": "v2.4.0",
diff --git a/konzept.png b/konzept.png
new file mode 100644
index 0000000..c3688b1
Binary files /dev/null and b/konzept.png differ
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000..58e8f87
Binary files /dev/null and b/logo.png differ
diff --git a/public/wbm.png b/public/wbm.png
new file mode 100644
index 0000000..a6410c7
Binary files /dev/null and b/public/wbm.png differ
diff --git a/resources/js/app.js b/resources/js/app.js
index ec94d36..952f441 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -14,8 +14,8 @@ import {
faStar, faClock, faCircleQuestion, faSliders,
faBell, faMagnifyingGlass,
faGraduationCap, faFileInvoice, faHeart, faCertificate,
- faChevronRight, faArrowRightFromBracket, faCube,
- faTriangleExclamation,
+ faChevronRight, faChevronLeft, faArrowRightFromBracket, faCube,
+ faTriangleExclamation, faPlus, faFilePdf, faDownload,
} from '@fortawesome/free-solid-svg-icons'
library.add(
@@ -24,8 +24,8 @@ library.add(
faStar, faClock, faCircleQuestion, faSliders,
faBell, faMagnifyingGlass,
faGraduationCap, faFileInvoice, faHeart, faCertificate,
- faChevronRight, faArrowRightFromBracket, faCube,
- faTriangleExclamation,
+ faChevronRight, faChevronLeft, faArrowRightFromBracket, faCube,
+ faTriangleExclamation, faPlus, faFilePdf, faDownload,
)
InertiaProgress.init()
diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php
index a05f46c..ec0d11d 100644
--- a/resources/views/app.blade.php
+++ b/resources/views/app.blade.php
@@ -3,6 +3,7 @@
+
{{ config('app.name', 'Nexus') }}
diff --git a/resources/views/pdf/rechnung.blade.php b/resources/views/pdf/rechnung.blade.php
new file mode 100644
index 0000000..e5aa029
--- /dev/null
+++ b/resources/views/pdf/rechnung.blade.php
@@ -0,0 +1,336 @@
+
+
+
+
+
Rechnung {{ $rechnungsnummer }}
+
+
+
+
+
+
+
+
+
+
+
+
Rechnung Nr. {{ $rechnungsnummer }}
+
+
+
+
+ Rechnungsdatum:
+ {{ $rechnungsdatumFormatiert }}
+
+ Rechnungs-Nr.:
+ {{ $rechnungsnummer }}
+
+ @if($zahlungsziel)
+
+ Zahlungsziel:
+ {{ $zahlungszielFormatiert }}
+
+ @endif
+
+
+
+
+ Hallo,
+
+
+ anbei übersenden wir folgende Rechnungmit der Bitte um Überweisung des Gesamtbetrags
+ bis zum {{ $zahlungszielFormatiert }} auf das unten angegebene Konto.
+
+
+
+
+
+
+ Nr.
+ Bezeichnung
+ Menge
+ Einzelpreis
+ Gesamt
+
+
+
+ @forelse($positionen as $i => $pos)
+
+ {{ $i + 1 }}
+ {{ $pos['bezeichnung'] }}
+ {{ number_format((float)($pos['menge'] ?? 0), 2, ',', '.') }} {{ $pos['einheit'] ?? '' }}
+ {{ number_format((float)($pos['einzelpreis'] ?? 0), 2, ',', '.') }} €
+ {{ number_format((float)($pos['menge'] ?? 0) * (float)($pos['einzelpreis'] ?? 0), 2, ',', '.') }} €
+
+ @empty
+
+ Keine Positionen erfasst.
+
+ @endforelse
+
+
+
+
+
+
+
+
+
+
+ Nettobetrag
+ {{ number_format($netto, 2, ',', '.') }} €
+
+
+ zzgl. {{ $mwstSatz }} % MwSt.
+ {{ number_format($mwst, 2, ',', '.') }} €
+
+
+ Gesamtbetrag
+ {{ number_format($brutto, 2, ',', '.') }} €
+
+
+
+
+
+
+
+ @if($iban || $bic)
+
+
Bankverbindung
+
Kontoinhaber: BdP Landesverband Sachsen e.V.
+ @if($iban)
IBAN: {{ $iban }}
@endif
+ @if($bic)
BIC: {{ $bic }}
@endif
+
+ @endif
+
+
+
+
Herzlichst Gut Pfad.
+
+ BdP Landesverband Sachsen e.V.
+ Landesschatzmeister
+ Thomas Günther
+
+
+
+
+