Preise im Blog immer inkl. 19 % MwSt.
This commit is contained in:
@@ -219,8 +219,10 @@ und sollte dort bleiben.
|
|||||||
|
|
||||||
### Schreibregeln fuer content_html
|
### Schreibregeln fuer content_html
|
||||||
|
|
||||||
**Preise niemals ausschreiben.** Sie werden zentral gepflegt und per Shortcode
|
**Preise niemals ausschreiben, immer inkl. MwSt.** Sie werden zentral gepflegt
|
||||||
eingesetzt:
|
und per Shortcode eingesetzt, immer mit `brutto="1"`. Hinter dem Preis steht
|
||||||
|
"inkl. 19 % MwSt.", nie "netto", "brutto" oder "zzgl.". Die Stilpruefung meldet
|
||||||
|
Shortcodes ohne `brutto="1"` und jedes "netto"/"brutto" im Text.
|
||||||
|
|
||||||
```
|
```
|
||||||
[skrift_preis key="SCHLUESSEL" ab="0|1" brutto="0|1"]
|
[skrift_preis key="SCHLUESSEL" ab="0|1" brutto="0|1"]
|
||||||
@@ -246,7 +248,7 @@ reine Zahl.
|
|||||||
Das Wort "ab" gehoert in den Fliesstext, der Shortcode liefert nur die Zahl:
|
Das Wort "ab" gehoert in den Fliesstext, der Shortcode liefert nur die Zahl:
|
||||||
|
|
||||||
```
|
```
|
||||||
Handschriftliche Briefe ab [skrift_preis key="briefe" ab="1"] pro Stueck.
|
Handschriftliche Briefe ab [skrift_preis key="briefe" ab="1" brutto="1"] pro Stueck inkl. 19 % MwSt.
|
||||||
```
|
```
|
||||||
|
|
||||||
Ein unbekannter `key` erzeugt eine leere Ausgabe, keinen Fehler.
|
Ein unbekannter `key` erzeugt eine leere Ausgabe, keinen Fehler.
|
||||||
|
|||||||
@@ -298,14 +298,12 @@ const brief = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
schreibregeln: {
|
schreibregeln: {
|
||||||
preise: 'Preise niemals ausschreiben. Immer den Shortcode einsetzen: '
|
preise: 'Preise niemals ausschreiben. Immer den Shortcode einsetzen, immer inklusive MwSt.: '
|
||||||
+ '[skrift_preis key="SCHLUESSEL" ab="0|1" brutto="0|1"]. '
|
+ '[skrift_preis key="SCHLUESSEL" ab="0|1" brutto="1"]. '
|
||||||
+ 'key ist der Produktschluessel (z. B. briefe, postkarten, porto_inland). '
|
+ 'key ist der Produktschluessel (briefe, postkarten). ab=1 liefert den guenstigsten Staffelpreis, '
|
||||||
+ 'ab=1 liefert den guenstigsten Staffelpreis, ab=0 den Standardpreis. '
|
+ 'ab=0 den Standardpreis. brutto ist immer 1. Hinter dem Preis steht immer "inkl. 19 % MwSt.", '
|
||||||
+ 'brutto=1 inkl. MwSt., brutto=0 netto. Das Wort "ab" selbst gehoert in den Fliesstext, '
|
+ 'nie "netto", "brutto" oder "zzgl.". Das Wort "ab" gehoert in den Fliesstext. Beispiel: '
|
||||||
+ 'der Shortcode liefert nur die Zahl. Beispiel: '
|
+ 'Handschriftliche Briefe ab [skrift_preis key="briefe" ab="1" brutto="1"] pro Stueck inkl. 19 % MwSt.',
|
||||||
+ 'Handschriftliche Briefe ab [skrift_preis key="briefe" ab="1"] pro Stueck. '
|
|
||||||
+ 'Ein unbekannter key ergibt eine leere Ausgabe, keinen Fehler.',
|
|
||||||
faq: 'FAQ nicht in content_html schreiben, sondern als Feld faq mit Frage-Antwort-Paaren. '
|
faq: 'FAQ nicht in content_html schreiben, sondern als Feld faq mit Frage-Antwort-Paaren. '
|
||||||
+ 'Die Ausgabe im Beitrag uebernimmt der Shortcode [skrift_faq].',
|
+ 'Die Ausgabe im Beitrag uebernimmt der Shortcode [skrift_faq].',
|
||||||
kurzantwort: 'Ein Absatz, der die Hauptfrage direkt beantwortet, als eigenes Feld kurzantwort.',
|
kurzantwort: 'Ein Absatz, der die Hauptfrage direkt beantwortet, als eigenes Feld kurzantwort.',
|
||||||
|
|||||||
@@ -84,6 +84,15 @@ function stilpruefung(artikel) {
|
|||||||
add('Kein Praxiswissen hinterlegt', 'Feld "praxis" in artikel-index.json fuellen, dann den Artikel darauf aufbauen');
|
add('Kein Praxiswissen hinterlegt', 'Feld "praxis" in artikel-index.json fuellen, dann den Artikel darauf aufbauen');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 7b) Preise: immer inkl. MwSt., Formulierung "inkl. 19 % MwSt."
|
||||||
|
const alleTexte = [String(artikel.kurzantwort || ''), html,
|
||||||
|
...(Array.isArray(artikel.faq) ? artikel.faq.map(f => String(f.antwort || '')) : [])].join(' ');
|
||||||
|
(alleTexte.match(/\[skrift_preis[^\]]*\]/g) || []).forEach(s => {
|
||||||
|
if (!/brutto="1"/.test(s)) add('Preis ohne MwSt.', `${s} braucht brutto="1"`);
|
||||||
|
});
|
||||||
|
const nb = ohneTags(alleTexte.replace(/\[skrift_preis[^\]]*\]/g, 'PREIS')).match(/[^.]{0,40}\b(netto|brutto|zzgl\.?|zuzüglich)\b[^.]{0,30}/gi) || [];
|
||||||
|
nb.forEach(s => add('Preisangabe: "netto"/"brutto" statt "inkl. 19 % MwSt."', s.trim()));
|
||||||
|
|
||||||
// 8) Interne Links: primaer auf Business-Leistungsseiten
|
// 8) Interne Links: primaer auf Business-Leistungsseiten
|
||||||
const B = 'https://skrift.de/';
|
const B = 'https://skrift.de/';
|
||||||
const BUSINESS = ['handgeschriebene-businessbriefe', 'handgeschriebene-postkarten',
|
const BUSINESS = ['handgeschriebene-businessbriefe', 'handgeschriebene-postkarten',
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user