# Zwei verschiedene Währungen auf derselben Rechnung

**URL:** <https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347>\
**Category:** Programmierung\
**Created:** [8. November 2017 um 15:24 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347 "2017-11-08T15:24:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![balazs](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@balazs](https://forum.shopware.com/u/balazs)\
**Post date:** [8. November 2017 um 15:24 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/1 "2017-11-08T15:24:36Z")

</div>

Hallo. Ich brauche zwei verschiedene Währungen, die auf der Rechnung erscheinen sollen. Wie muss ich diesen Code ändern, um EUR und USD anzuzeigen? Die Standardwährung ist EUR. Und ich nehme an, es gibt einen einfacheren Weg, die gesamte Mehrwertsteuer für eine Position anzuzeigen…

```
{block name="document_index_table_tax"}
                
     {($position.amount_netto*($position.tax/100))|currency}
 {($position.amount_netto*($position.tax/100))|currency}
                
{/block}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [8. November 2017 um 16:43 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/2 "2017-11-08T16:43:03Z")

</div>

> Wie muss ich diesen Code ändern, um EUR und USD anzuzeigen?

Erstmal müsstest du das Umrechnen. Die Bestellung wir ja nur in einer Während geführt.&nbsp;

> Und ich nehme an, es gibt einen einfacheren Weg, die gesamte Mehrwertsteuer für eine Position anzuzeigen…

Ja, das tut dein Snippet doch, oder nicht?&nbsp;

---

<div class="post-metadata">

**Author:** ![balazs](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@balazs](https://forum.shopware.com/u/balazs)\
**Post date:** [8. November 2017 um 16:58 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/3 "2017-11-08T16:58:25Z")

</div>

Also jetzt sieht es so aus:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/7/7dfd91d4bb9e5394c9357a9b2017bd5cc43225ea.jpeg)

Und die zweite Reihe an jeder Position sollte USD zeigen.

Ich denke, es gibt etwas mit dem “currency” Teil des Codes zu tun, aber ich weiß nicht, wie man die USD separat definiert.

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [9. November 2017 um 14:47 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/4 "2017-11-09T14:47:00Z")

</div>

Das currency gibt das Währungssymbol aus. Wie bereits gesagt, wird die Rechnung in Euro erstellt. Daher ist die Währung Euro. Wenn du jetzt noch Dollar dort stehen haben möchtest, musst du denn Euro Betrag mit dem Dollar Kurs umrechnen. Shopware ist in der Lage Kurse zu verwalten. Der Kurs stehst dir im Rechnungstemplate allerdings nicht zur Verfügung. Du müsstest dir ein Plugin schreiben, dass sich an die Variablen Zuweisung des Templates hängt und dir Entweder die Kurse dort rein reicht oder die gleiche die berechneten Dollar Werte reinreicht. Du kannst dazu den Hook&nbsp;“Shopware\_Components\_Document::assignValues4x::after” nutzen.

---

<div class="post-metadata">

**Author:** ![balazs](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@balazs](https://forum.shopware.com/u/balazs)\
**Post date:** [13. November 2017 um 10:59 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/5 "2017-11-13T10:59:43Z")

</div>

Ich habe es so gelöst. Ich weiß, es ist nicht elegant, aber es funktioniert. Ich muss “index.tpl” täglich wegen des Wechselkurses aktualisieren … 🙂 Ich konnte kein Plugin machen, weil ich nur ein Anfänger bin. Aber danke dir für die Tipps.

```
{block name="document_index_table_tax"}
                
{($position.amount_netto*($position.tax/100))|currency}
{(($position.amount_netto*($position.tax/100))*0.857)|currency|replace:"€":"USD"}
                            
{/block}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [14. November 2017 um 08:17 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/6 "2017-11-14T08:17:08Z")

</div>

Joah. So gehts natürlich auch ;)&nbsp;

---

<div class="post-metadata">

**Author:** ![balazs](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@balazs](https://forum.shopware.com/u/balazs)\
**Post date:** [15. November 2017 um 15:12 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/7 "2017-11-15T15:12:16Z")

</div>

Ich weiß nicht genau jetzt die „currencyID“ für USD, aber sagen wir, es ist 2. Wenn ich USD als Währung definiert habe, wie schwer ist es, ein solches Plugin zu erstellen, das den „currencyID.2.currencyFactor“ aufruft. Ist das irgendwie ohne Plugin möglich?

Also statt:  
&nbsp;

```
{(($ position.amount_netto * ($ position.tax/100))*0.857)|currency|replace:"€":"USD "}

```

Es würde so aussehen:  
&nbsp;

```
{(($ position.amount_netto * ($ position.tax/100))*"currencyID.2.currencyFactor")|currency|replace:"€":"USD "}

```

Auf diese Weise könnte ich (oder ein Plugin) einfach den USD-Faktor aus dem Backend aktualisieren.

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [15. November 2017 um 16:14 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/8 "2017-11-15T16:14:57Z")

</div>

> wie schwer ist es, ein solches Plugin zu erstellen

Für mich sehr einfach! Aber das kommt wohl auf den Entwickler an.

> &nbsp;Ist das irgendwie ohne Plugin möglich?

Leider Nein.&nbsp;

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [16. November 2017 um 17:21 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/9 "2017-11-16T17:21:46Z")

</div>

Bitte nach /custom/plugins/AbCurrenciesInDocuments/AbCurrenciesInDocuments.php kopieren und im Plugin Manager installieren.

```
 'addCurrencys']
        );
    }

    public function addCurrencys(\Enlight_Hook_HookArgs $args)
    {
        /** @var \Shopware_Components_Document $subject */
        $subject = $args->getSubject();
        $dbal = $this->container->get('dbal_connection');
        $currencies = $dbal->executeQuery('select * from s_core_currencies;')->fetchAll(\PDO::FETCH_UNIQUE);
        $subject->_view->assign('abCurrencies', $currencies);
    }
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [20. November 2017 um 11:45 UTC](https://forum.shopware.com/t/zwei-verschiedene-wahrungen-auf-derselben-rechnung/49347/10 "2017-11-20T11:45:23Z")

</div>

Als Dankeschön hat&nbsp;Balazs 50€ an Plan International gespendet. Danke dafür&nbsp; ![Thumb-Up](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/thumb-up.png "Thumb-Up")&nbsp; ![Smile](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/smile.png "Smile")
