> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Klimaneutrale Produktion

> Käufern anbieten, die CO2-Emissionen ihrer Bestellung über ein Klimaschutzprojekt bei ClimatePartner auszugleichen.

Der Käufer sieht im Bestellprozess, wie viel CO2 seine Bestellung verursacht, und kann diese Menge gegen einen Betrag über ein Klimaschutzprojekt ausgleichen. Nach der Bestellung lädt er seine Urkunde herunter. Für den Händler ist das eine Positionierung, für den Käufer eine freiwillige Entscheidung im Checkout.

> [!WARNING]
>
> Die Schnittstelle zu den Klimaschutzprojekten, ihren Kosten und den Zertifikaten läuft über ClimatePartner. Ohne eine Anbindung dorthin steht die Funktion nicht zur Verfügung.

## Wie es abläuft

1. Je Produkt legen Sie fest, ob es klimaneutral produziert werden kann. Solche Produkte brauchen ein Gewicht.
2. Liegt mindestens ein solches Produkt im Warenkorb, errechnet der Shop die CO2-Menge: Gesamtgewicht dieser Produkte mal CO2-Faktor. Den Faktor ermittelt ClimatePartner für Ihren Shop.
3. Überschreitet die Menge einen konfigurierten Mindestwert, erscheint auf der Seite der Zahlungs- und Versandarten eine Liste von Klimaschutzprojekten, die ClimatePartner in diesem Moment liefert.
4. Wählt der Käufer ein Projekt, erscheinen die Kosten als globale Kosten in der Bestellübersicht.
5. Mit Abschluss der Bestellung wird das Zertifikat bei ClimatePartner bestellt.
6. Auf der Bestelleingangsbestätigung kann der Käufer seine Urkunde herunterladen und das Label konfigurieren.

## Einrichten

### Schritt 1: Freischaltung

Die Funktion muss freigeschaltet werden.

> [!WARNING]
>
> Setzen Sie ein Warenwirtschaftssystem ein, klären Sie zuerst, ob dieses die klimaneutrale Produktion unterstützt. Beginnen Sie mit der Integration erst nach der Freischaltung durch die WEBSALE AG.

### Schritt 2: Daten von ClimatePartner

Bevor Sie anfangen, muss die Bewertung Ihres Unternehmens durch ClimatePartner abgeschlossen sein und drei Angaben müssen vorliegen:

* Zugangsdaten zur Schnittstelle
* CO2-Faktor zur Berechnung der Emissionsmenge aus dem Gewicht
* Mindestemissionsmenge

### Schritt 3: Produktdaten kennzeichnen

Jedes Produkt, das klimaneutral bestellbar sein soll, bekommt im Produktdatenfeld `ClimateNeutral` den Wert `y`. Die Einzelheiten stehen in der Produktdaten-Dokumentation.

### Schritt 4: Konfiguration

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<ClimateNeutral>
   CO2Factor                     = 0.0017242
   MinCO2CompensationAmount      = 0.001
   VATRate-Value                 = 1
   VATType                       = static
   DecimalPlaces                 = 3
   DecimalSeparator              = ,
   ThousandSeparator             = .
   CertificateClient             = {A-Company}~A-Company~{/A-Company}{!A-Company}~A-Salutation~ ~A-FirstName~ ~A-LastName~{/!A-Company}
   CertificateOrderDescr         = Auftrag ~OrderNumber~ bei Ihrem Shopnamen
   CertificateRetrieval-Mode     = PerOrder
   CertificateRetrieval-TestMode =
   LanguageCode                  = de
   NotificationAddress           = admin@ihr-shop.de
   ClimateNeutral-Txt            =
   CostAddition-List             = (0:0.1)(0.1:100%)
   ClimatePartnerMinCost-Value   = 0.01
</ClimateNeutral>
```

| Parameter | Bedeutung |
| - | - |
| `CO2Factor` | Pflicht. CO2 je Gewichtseinheit, von ClimatePartner ermittelt |
| `MinCO2CompensationAmount` | Mindestmenge CO2, ab der die Option angeboten wird |
| `VATRate-Value` | Pflicht. Index des Mehrwertsteuersatzes. Bei ungültiger Berechnung entfällt die Funktion |
| `VATType` | `static` oder `dynamic`, Vorgabe `static` |
| `DecimalPlaces` | Nachkommastellen der angezeigten Emissionsmenge, Vorgabe `2` |
| `DecimalSeparator`, `ThousandSeparator` | Trennzeichen der Emissionsmenge |
| `CertificateClient` | Name des Käufers auf der Urkunde |
| `CertificateOrderDescr` | Beschreibung der Bestellung auf der Urkunde |
| `CertificateRetrieval-Mode` | `PerOrder` für ein Zertifikat je Bestellung, `PerBasketPosition` für eines je Position |
| `CertificateRetrieval-TestMode` | dasselbe für den Testmodus |
| `LanguageCode` | zweistelliger Code, der an ClimatePartner übergeben wird |
| `NotificationAddress` | Adresse für die Benachrichtigung bei Fehlern in der Zertifikatsbestellung |
| `CostAddition-List` | Aufschlag auf die Nettokosten, je Stufe in Prozent oder Euro |
| `ClimatePartnerMinCost-Value` | Mindestkosten, `0.01` entspricht einem Cent |

> [!WARNING]
>
> ClimatePartner rechnet immer in Kilogramm. Führen Sie die Gewichte im Shop in einer anderen Einheit, gleichen Sie das über den CO2-Faktor aus. Bei einem Faktor von 1,3 von ClimatePartner gilt:
>
> | Gewichte im Shop | Einzutragender Wert |
> | - | - |
> | Kilogramm | `CO2Factor = 1.3` |
> | Gramm | `CO2Factor = 0.0013` |
> | Tonnen | `CO2Factor = 1300` |

Referenz: [Abschnitt ClimateNeutral](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/preise-steuern-und-waehrung.md#climateneutral)

### Schritt 5: Anzeige am Produkt

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{PR-ClimateNeutral}
   Dieses Produkt können Sie klimaneutral bestellen.
{/PR-ClimateNeutral}
```

### Schritt 6: Anzeige im Warenkorb

Je Position lässt sich anzeigen, ob sie klimaneutral bestellbar ist und wie viel CO2 auf sie entfällt.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@BASKET-PR-Data}
   {BASKET-PR-ClimateNeutral}
      Diese Position kann klimaneutral bestellt werden.
      {BASKET-PR-ClimateNeutralCompensationAmount}
         CO2-Emission: ~BASKET-PR-ClimateNeutralCompensationAmount~ kg CO2
      {/BASKET-PR-ClimateNeutralCompensationAmount}
   {/BASKET-PR-ClimateNeutral}
{/@BASKET-PR-Data}
```

Für Unterprodukte eines Sets lässt sich die CO2-Menge nicht ausweisen. Ein Set-Produkt gilt hier immer als eine Einheit.

### Schritt 7: Anzeige für den ganzen Warenkorb

Dieser Hinweis lässt sich an jeder Stelle im Shop setzen, etwa im Warenkorb als Ausblick auf den Checkout.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-ClimateNeutralActivated}
   {WS-ClimateNeutralForBasketAvailable}
      Ihr Warenkorb verursacht ~WS-ClimateNeutralCompensationAmount~ kg CO2-Emissionen.
      Sie können diese im Bestellprozess ausgleichen.
   {/WS-ClimateNeutralForBasketAvailable}
{/WS-ClimateNeutralActivated}
```

### Schritt 8: Auswahl der Klimaschutzprojekte

Die Auswahl gehört auf die Seite der Zahlungs- und Versandarten.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-ClimateNeutralActivated}
   {CN-Data}

      <!-- erster Eintrag: kein Ausgleich -->
      <input type="radio" name="~CN-Project_radioname~" value="~CN-Project_radiovalue_noproject~"
             {CN-Project_radioselected_noproject}checked{/CN-Project_radioselected_noproject}>
      Keine klimaneutrale Produktion

      <!-- Schleife über die verfügbaren Projekte -->
      {@CN-Data}
         <input type="radio" name="~CN-Project_radioname~" value="~CN-Project_radiovalue~"
                {CN-Project_radioselected}checked{/CN-Project_radioselected}>
         Projektname: ~CN-ProjectName~<br>
         Technologie: ~CN-ProjectTechnology~<br>
         Region: ~CN-ProjectRegion~<br>
         Land: ~CN-ProjectCountry~<br>
         {CN-ProjectURL}<a href="~CN-ProjectURL~" target="_blank">Link zum Projekt</a><br>{/CN-ProjectURL}
         {CN-ProjectPDF}<a href="~CN-ProjectPDF~">Projektbeschreibung als PDF</a><br>{/CN-ProjectPDF}
         Kosten pro kg CO2: ~CN-ProjectPricePerUnit(3)~<br>
         Gesamtkosten: ~CN-ProjectTotal~<br>
      {/@CN-Data}

   {/CN-Data}
{/WS-ClimateNeutralActivated}
```

Der erste Eintrag ohne Projekt ist wichtig. Ohne ihn hat der Käufer keine Möglichkeit, eine einmal getroffene Wahl zurückzunehmen.

Referenz: Alle [CN-Tags für die klimaneutrale Produktion](https://dokumentation.websale.de/v8s/externe-dienste/klimaneutrale-produktion.md)

### Schritt 9: Kosten ausweisen

Die Kosten gehören zu den global ausgewiesenen Kosten wie Versand und Zahlungsart, also vor die Gesamtsumme, auf der Bestellübersicht und auf der Bestelleingangsbestätigung.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-ClimateNeutral}
   {BASKET-ClimateNeutralTotal}
      Gesamt-Emissionsausgleich: ~BASKET-ClimateNeutralTotal~ ~WS-CurrencySymbol~
   {/BASKET-ClimateNeutralTotal}

   {BASKET-ClimateNeutralTotalVAT}
      Mehrwertsteueranteil: ~BASKET-ClimateNeutralTotalVAT~ ~WS-CurrencySymbol~
   {/BASKET-ClimateNeutralTotalVAT}
{/BASKET-ClimateNeutral}
```

Für die getrennte Ausweisung stehen zusätzlich `BASKET-ClimateNeutralTotalNet` und `BASKET-ClimateNeutralTotalGross` zur Verfügung.

### Schritt 10: Zertifikat auf der Bestelleingangsbestätigung

Welche Tags hier gelten, hängt von `CertificateRetrieval-Mode` ab. Der Aufbau ist in beiden Fällen derselbe, es unterscheiden sich nur die Tag-Namen.

| Modus | Zertifikate | Tags |
| - | - | - |
| `PerOrder` | eines für die ganze Bestellung | `WS-ClimateNeutralCert…` |
| `PerBasketPosition` | eines je Warenkorbposition | `BASKET-PR-ClimateNeutralCert…`, geklammert in `WS-ClimateNeutralPerBasketPosition` und die Schleife über die Positionen |

Ein Zertifikat für die ganze Bestellung:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{BASKET-ClimateNeutral}

   {WS-ClimateNeutralError}
      Das Zertifikat konnte nicht erzeugt werden. Bitte kontaktieren Sie uns.
   {/WS-ClimateNeutralError}

   {!WS-ClimateNeutralError}
      <b>Zertifikat der klimaneutralen Produktion</b><br>
      {WS-ClimateNeutralCertCreationDate}Ausstellungsdatum: ~WS-ClimateNeutralCertCreationDate~<br>{/WS-ClimateNeutralCertCreationDate}
      Projekt: ~WS-ClimateNeutralCertProjectName~<br>
      {WS-ClimateNeutralCertProjectURL}<a href="~WS-ClimateNeutralCertProjectURL~">Download des Zertifikats</a><br>{/WS-ClimateNeutralCertProjectURL}
      {WS-ClimateNeutralCertProjectLogo}<a target="_blank" href="~WS-ClimateNeutralCertProjectLogo~">Label konfigurieren</a><br>{/WS-ClimateNeutralCertProjectLogo}
      {WS-ClimateNeutralCertVerifyURL}<a target="_blank" href="~WS-ClimateNeutralCertVerifyURL~">zur Bestätigungsseite</a><br>{/WS-ClimateNeutralCertVerifyURL}
      Kompensierte Emissionsmenge: ~WS-ClimateNeutralCompensationAmount~<br>
   {/!WS-ClimateNeutralError}

{/BASKET-ClimateNeutral}

{!BASKET-ClimateNeutral}
   {WS-ClimateNeutralError}
      Die klimaneutrale Produktion ist im Moment leider nicht verfügbar.
   {/WS-ClimateNeutralError}
{/!BASKET-ClimateNeutral}
```

Ein Zertifikat je Position:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{!WS-ClimateNeutralError}
   {WS-ClimateNeutralPerBasketPosition}
      <b>Zertifikate der klimaneutralen Produktion</b><br>
      {@BASKET-PR-Data}
         {BASKET-PR-ClimateNeutralAvailable}
            {BASKET-PR-ClimateNeutralCertCreationDate}Ausstellungsdatum: ~BASKET-PR-ClimateNeutralCertCreationDate~<br>{/BASKET-PR-ClimateNeutralCertCreationDate}
            Projekt: ~BASKET-PR-ClimateNeutralCertProjectName~<br>
            {BASKET-PR-ClimateNeutralCertProjectURL}<a href="~BASKET-PR-ClimateNeutralCertProjectURL~">Download des Zertifikats</a><br>{/BASKET-PR-ClimateNeutralCertProjectURL}
            Kompensierte Emissionsmenge: ~BASKET-PR-ClimateNeutralCompensationAmount~<br><br>
         {/BASKET-PR-ClimateNeutralAvailable}
      {/@BASKET-PR-Data}
   {/WS-ClimateNeutralPerBasketPosition}
{/!WS-ClimateNeutralError}
```

Im Modus `PerBasketPosition` werden `MinCO2CompensationAmount`, `ClimatePartnerMinCost-Value` und `CostAddition-List` auf jede Position einzeln angewendet. Ein Set-Produkt gilt dabei als ein Produkt.

## Die zwei Fehlerfälle unterscheiden

Vor Abschluss der Bestellung wird das Zertifikat bei ClimatePartner reserviert, erstellt wird es erst danach. Daraus ergeben sich zwei Fehlerbilder, die im Template unterschiedlich geklammert sind und ganz unterschiedliche Folgen haben.

| Fehler | Klammerung | Kosten in der Bestellung | Was zu tun ist |
| - | - | - | - |
| Reservierung gelang, Zertifikatsbestellung schlug fehl | `{BASKET-ClimateNeutral}` und darin `{WS-ClimateNeutralError}` | enthalten | die Bestellung bei ClimatePartner von Hand prüfen und abschließen. Eine E-Mail an `NotificationAddress` weist darauf hin |
| Reservierung schlug fehl | `{!BASKET-ClimateNeutral}` und darin `{WS-ClimateNeutralError}` | nicht enthalten, die Auswahl wurde zurückgesetzt | nichts |

> [!WARNING]
>
> Der erste Fall bedeutet, dass der Käufer für etwas bezahlt hat, das noch nicht bestellt ist. Die Adresse in `NotificationAddress` muss deshalb jemand lesen, der reagieren kann.

## Verwandte Themen

* Wegweiser: [Warenkorb anzeigen](https://dokumentation.websale.de/v8s/warenkorb/warenkorb-anzeigen-loeschen.md)
* Wegweiser: [Zahlungs- und Versandarten](https://dokumentation.websale.de/v8s/informationsseiten/uebersicht-von-zahlungs-und-versandarten.md)
* Wegweiser: Bestellübersicht und [Bestelleingangsbestätigung](https://dokumentation.websale.de/v8s/bestelluebersicht-bestelleingangsbestaetigung/bestelleingangs-e-mail-an-den-shopbetreiber.md)


## Related topics

- [CN- (Klimaneutrale Produktion)](https://dokumentation.websale.de/v8s/referenz/tags/cn.md)
- [Klimaneutrale Produktion im Warenkorb](https://dokumentation.websale.de/v8s/referenz/tags/basket/klimaneutrale-produktion-im-warenkorb.md)
- [Felder und Beispiele](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestellgenerator/felder-und-beispiele.md)
- [Preise, Steuern und Währung](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/preise-steuern-und-waehrung.md)
- [Sektionen: Positionen und Zahlung](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestelldaten/sektionen-positionen-und-zahlung.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.